位置: 编程技术 - 正文

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)

  • 个人所得税手续费返还时间
  • 房产证,契税
  • 机械租赁税率是10个点还是9个点
  • 固定资产出售净残值怎么处理
  • 收到失业保险稳岗补贴会计分录
  • 不动产租赁服务属于现代服务吗
  • 结转上月库存商品余额会计分录
  • 补计提上一年度费用
  • 请客户旅游算不算贿赂
  • 预缴税款是否可以强制执行
  • 行政单位特殊人工手机电话费是否可以报销
  • 长期借款科目核算的是企业的长期借款本金和利息
  • 固定资产清理收入增值税税率
  • 个人股权转让申报表
  • 减免的土地出让金销项税额可以抵减吗
  • 外包服务费税率是多少
  • 电子发票跨月怎么开红字发票
  • 进口增值税发票怎么认证
  • 1697510552
  • 会计帐务处理程序
  • 玩游戏时切换窗口怎么弄
  • 微软推出windows1
  • 举办活动购买的东西会计分录
  • window10自带商店下载位置
  • PHP:mb_http_input()的用法_mbstring函数
  • pc direct
  • win10 待机时间
  • 企业规模扩大后更易于管理吗
  • 企业购买财务软件算什么费用
  • 黄喉蜂虎鸟是保护动物吗
  • 申报表已申报未交款后作废
  • element级联动态加载
  • 博客界面模板
  • ORB_SLAM2+kinect稠密建图实战项目总结
  • Python Module — OpenAI ChatGPT API
  • ps怎么弄树
  • thinkphp route
  • 通用机打发票可以查验吗
  • 帝国cms标签调用大全
  • 一次性计提和一次性支付的区别
  • 可变现净值属于会计计量属性吗
  • 上市公司收购其它公司是好是坏
  • 网购会计如何确认成本
  • 什么时候贷主营业务成本
  • 残疾人就业相关论文题目
  • 纺织品业务
  • 债券投资属于什么
  • 预提费用多提了怎么办
  • 资源税代扣代缴取消时间
  • 转租收入如何入账
  • 总公司与分公司的账务处理
  • 收到增值税专用发票是进项还是销项
  • 金税盘抄报税这是怎么个流程
  • 关于小规模纳税人2023年的政策
  • 交易性金融资产公允价值变动计入
  • mysql绿色版配置
  • windowsxp如何清理磁盘
  • vmware 10虚拟机
  • gho文件硬盘安装
  • win8defender怎么打开
  • win7大小写提示图标
  • windows1021h1新功能
  • linux的三个部分
  • win7浏览器主页怎么设置
  • members-area.exe是什么进程 members-area进程查询
  • win10系统如何去除记住密码
  • wind10升级
  • linux升级内核要重启吗
  • linux安装后没有网卡只有lo
  • 常用dos命令详解
  • The method setClass(Context, Class<?>) in the type Intent is not applicable for the问题
  • linux中wget命令出现错误
  • python自动化验证码
  • javascript data
  • python生成pyc
  • 个人所得税如何申报详细流程
  • 消费税征税环节
  • 广西税务局热线电话
  • 环保税截止时间
  • 网上预约税务局怎么弄
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设