位置: 编程技术 - 正文

NodeJS制作爬虫全过程(node.js写爬虫)

编辑:rootadmin

推荐整理分享NodeJS制作爬虫全过程(node.js写爬虫),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node爬虫框架puppeteer,nodejs爬虫框架crawler,nodejs爬取数据,nodejs爬虫框架crawler,nodejs爬取数据,nodejs做爬虫,nodejs做爬虫,node js爬虫,内容如对您有帮助,希望把文章链接给更多的朋友!

今天来学习alsotang的爬虫教程,跟着把CNode简单地爬一遍。

建立项目craelr-demo我们首先建立一个Express项目,然后将app.js的文件内容全部删除,因为我们暂时不需要在Web端展示内容。当然我们也可以在空文件夹下直接 npm install express来使用我们需要的Express功能。

目标网站分析如图,这是CNode首页一部分div标签,我们就是通过这一系列的id、class来定位我们需要的信息。

使用superagent获取源数据

superagent就是ajax API来使用的Http库,它的使用方法与jQuery差不多,我们通过它发起get请求,在回调函数中输出结果。

它的res结果为一个包含目标url信息的对象,网站内容主要在其text(string)里。

使用cheerio解析

cheerio充当服务器端的jQuery功能,我们先使用它的.load()来载入HTML,再通过CSS selector来筛选元素。

其结果为一个个对象,调用 .each(function(index, element))函数来遍历每一个对象,返回的是HTML DOM Elements。

输出 console.log($element.attr('title'));的结果为 广州 年月日 NodeParty 之 UC 场之类的标题,输出 console.log($element.attr('href'));的结果为 /topic/cbecbcbeb2之类的url。再用NodeJS1的url.resolve()函数来补全完整的url。

NodeJS制作爬虫全过程(node.js写爬虫)

使用eventproxy来并发抓取每个主题的内容教程上展示了深度嵌套(串行)方法和计数器方法的例子,eventproxy就是使用事件(并行)方法来解决这个问题。当所有的抓取完成后,eventproxy接收到事件消息自动帮你调用处理函数。

结果如下

扩展练习(挑战)

获取留言用户名和积分

在文章页面的源码找到评论的用户class名,classname为reply_author。console.log第一个元素 $('.reply_author').get(0)可以看到,我们需要获取东西都在这里头。

首先,我们先对一篇文章进行抓取,一次性把需要的都得到即可。

我们可以通过 $('.big').text().trim()即为积分信息。

使用cheerio的函数.get(0)为获取第一个元素。

这只是对于单个文章的抓取,对于个还有需要修改的地方。

NodeJS制作爬虫全过程(续) 书接上回,我们需要修改程序以达到连续抓取个页面的内容。也就是说我们需要输出每篇文章的标题、链接、第一条评论、评论用户和论坛积分。如图

sails框架的学习指南 上周通过搭建CMS系统接触到了sails框架,知道一些ORM的概念。这周开始深入后台数据交互,发现twenty框架的数据结构在sails上又设计了一番(比如node、cat

node.js开机自启动脚本文件 #!/bin/bash###BEGININITINFO#Provides:xiyoulib#Required-Start:$all#Required-Stop:$all#Default-Start:#Default-Stop:#Short-Description:Startdaemonatboottime#Description:Enableserviceprovidedbydaem

标签: node.js写爬虫

本文链接地址:https://www.jiuchutong.com/biancheng/374215.html 转载请保留说明!

上一篇:了不起的node.js读书笔记之mongodb数据库交互(了不起的女孩)

下一篇:NodeJS制作爬虫全过程(续)(nodejs爬虫框架crawler)

  • 购买金税盘和维税盘区别
  • 季度费用支出怎么做
  • 为什么应交增值税记在借方
  • 医院增值税免税性质代码是什么
  • 开办药品企业的要求
  • 个体工商户发票额度
  • 员工培训的费用按照多少钱计入安措费
  • 当期计提加计抵减额如何确定
  • 企业滞留发票的产生和处理
  • 商业收入会计分录
  • 预付租金就要交增值税吗
  • 奖金属于应付职工薪酬
  • 过期的费用发票怎么处理
  • 房地产预交税金及附加要计提吗
  • 核定征收所得税税率
  • 自然人股权出资 税收优惠政策
  • 国家税务局通用定额发票查询
  • 固定资产评估是什么单位
  • 订购维修设备零件怎么做账?
  • 工会经费的优惠政策2020
  • 房地产增值税结转收入的条件是什么
  • 出口货物退货流程
  • 图解在OS X中管理窗口大小的多种方法
  • 工程长期停工
  • macOS Catalina10.15.4值得升级吗 macOS Catalina10.15.4更新了什么
  • phpdie
  • 交易性金融资本
  • 商贸企业税收优惠政策
  • php异步处理方案
  • 工资总额提取福利费
  • 发票中的密码区是如何形成的
  • uniapp前端面试题
  • thinkphp if
  • 民间非营利组织如何纳税
  • vnc viewer连接windows
  • 怎么样写合同书
  • 什么是会计确认的基础
  • 减免税在借方如何结转
  • 违约拒绝赔偿怎么办
  • 固定资产的弃置费用
  • 工资包含福利费吗
  • 转让旧固定资产怎么处理
  • 交易性金融资产的账务处理
  • 到期无法收回的银行承兑汇票计入什么科目
  • 给慈善机构捐款英语
  • 园林绿化行业的市场需求是什么
  • 在职职工在单位应享受哪些待遇
  • 制造费用需要本年累计吗
  • 发票遗失复印件可以入账吗
  • 房地产公司属于什么企业
  • 苹果的mac系统
  • window10重装显卡驱动
  • Win10预览版镜像
  • xp系统如何设置
  • linux系统怎么维护
  • centos7安装软件包命令
  • 电脑系统垃圾
  • lsass.exe在哪个文件夹
  • win8跳过开机密码
  • 四个版本的雪国开头翻译
  • Win10 Mobile RedStone预览版14267.1004更新内容汇总(持续更新)
  • .json()
  • jquery-file-upload 文件上传带进度条效果
  • jquery实战
  • 关闭默认共享和共享文件夹
  • css如何控制图片位置
  • 用jquery实现全选
  • mac上安装破解软件会怎样
  • python3.8.3怎么用
  • js中unbind
  • 编写javascript代码
  • 用js自动判断浏览记录
  • JavaScript For Beginners(转载)
  • 河南电子税务局官网入口
  • 浦发银行企业银行电话
  • 北京朝阳地税局电话号码
  • 深圳市税务网上注销流程图
  • 国家税务总局办公室电话
  • 国税地税什么时候申报
  • 上海金山国税局局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设