位置: 编程技术 - 正文

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)

  • 企业固定资产入账新标准
  • 销售收入印花税率是多少
  • 税金及附加借贷科目
  • 小微企业开专票税率是1%还是3%
  • 年报中的工会经费是什么
  • 结构性存款需要缴纳增值税吗
  • 车辆商业险和强制险交完给退么
  • 税款差0.01是怎么用会计分录处理
  • 台湾发票大陆能做账吗
  • 购买增值税专用发票罪
  • 政府搬迁补偿款记资本公积
  • 个人转租房屋需交税吗
  • 出租车行业怎么银行贷款
  • 公司开给个人的发票有什么用
  • 维护服务合同可不可以一直续签
  • 所得税申报表中的营业成本包括费用吗
  • 建筑施工企业跨区域如何缴税
  • 把管理费用记到什么科目
  • win7桌面快捷键是什么
  • win10如何关闭更新并关机
  • 财务软件的摊销额计入管理费用
  • 修改apache的http服务端口为8080
  • 中秋节给员工买什么福利
  • mac的快捷键在哪
  • 360se进程太多
  • 分配辅助生产成本时可能借记的科目有
  • 餐费发票怎么做账务处理
  • 收到的担保费如何记账
  • 制造业利润占比多少合适
  • php注册和登录界面
  • php的介绍
  • react keepalive
  • 营业外收入不算收入吗
  • vuev-for循环k值的意义
  • 【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布
  • 人工智能业务架构图
  • thinkphp v5.0.24
  • 拨出专款年末结转
  • 资产负债表和利润表的勾稽关系
  • 什么情况下开劳务费发票
  • 建筑业委托加工合同范本
  • 附加税费用
  • 个人经营所得税率
  • 未确认融资费用怎么算
  • 公司注册地址变更有什么影响
  • 2023年会计继续教育报名入口
  • 纳税人减免税申请表怎么填
  • 金融企业里面的债务
  • 购买的车位如何做账
  • 无偿划拨土地需要提折旧吗
  • 厂商租赁公司
  • 逐步测试法计算内含报酬率
  • 应收利息审计底稿怎么做
  • 母公司划拨土地给全资子公司需要上税吗?
  • 小规模物业广告怎么写
  • 发票邮寄到家
  • 年末未分配利润总额计算公式
  • 明细分类账的填写
  • mysql有哪些数据类型,有哪些运算符
  • sql语句大全实例教程
  • SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法
  • solaris 10安装
  • windrv.exe
  • Centos Nginx + Svbversion配置安装方法分享
  • win7系统开机后很卡什么原因
  • win7系统安装步骤
  • linux安装后没有网卡只有lo
  • 原生js实现promise.all
  • perl -pi
  • css 分页
  • js经典实例
  • nodejs 获取命令行参数
  • jquery.validate提示错误信息位置方法
  • jquery showdialog
  • javascript巧用eval函数组装表单输入项为json对象的方法
  • jQuery Tags Input Plugin(添加/删除标签插件)详解
  • recyclerview stableid
  • 税务数据清理变态
  • 社保扣费为什么忽高忽低
  • 环保税申报操作手册
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设