位置: 编程技术 - 正文

NodeJS制作爬虫全过程(续)(nodejs爬虫框架crawler)

编辑:rootadmin

推荐整理分享NodeJS制作爬虫全过程(续)(nodejs爬虫框架crawler),希望有所帮助,仅作参考,欢迎阅读内容。

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

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

如图所示,$('.reply_author').eq(0).text().trim();得到的值即为正确的第一条评论的用户。

{<1>}

在eventproxy获取评论及用户名内容后,我们需要通过用户名跳到用户界面继续抓取该用户积分

在eventproxy这一次中,我们要找到score是放在哪里(class="big")。

{<2>}

找到classname就好办了,我们先试着把结果输出一下

运行程序,这段代码得到的结果。

NodeJS制作爬虫全过程(续)(nodejs爬虫框架crawler)

{<3>}

但是问题来了,我们在.end()的回调函数中能正确输出结果,但是不能正确的输出outcome。仔细一看,需要输出的outcome是一个Request对象。这是因为粗心犯的错的,.end()函数并不会传递返回值给Request对象,需要将结果返回到上一层(users)。

把users好好地输出发现除了score1其他是正确值。仔细调试发现,程序是先进行了console.log(),然后再进行.map()。更准确地说,在.map()函数内,.get()的回调函数并没有执行完赋值score,return 返回值就进行了。这就是回调函数的异步,而外层的同步操作是不会等待回调函数做完操作的。

{<4>}

我的做法就是eventproxy再emit一层消息,伴随着消息把需要的数据一起传递给接收消息操作.after(),只有当消息全部接收完毕,再打印出传递的参数(结果)。

{<6>}

这个问题解决了,但score1的数值好像太大了点吧。再一看,原来class='big'有两个,用户的话题收藏也是属于这个class。我们得通过cheerio的.slice( start, [end] )来切取第一个元素,即将score 修改为 score = $('.big').slice(0).eq(0).text().trim();。正确结果如图。

{<7>}

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中的path.extname方法使用说明 方法说明:返回path路径文件扩展名,如果path以‘.'为结尾,将返回‘.',如果无扩展名又不以'.'结尾,将返回空值。语法:path.extname(p)由于该方法属于pa

标签: nodejs爬虫框架crawler

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

上一篇:NodeJS制作爬虫全过程(node.js写爬虫)

下一篇:sails框架的学习指南(spiral框架)

  • 未达起征点增值税申报表怎么填
  • 小规模不动产租赁税率5%
  • 白酒消费税税率多少钱一吨
  • 建筑业总产值含税吗百度百科
  • 记账凭证核算形式是会计核算中最基本的核算形式
  • 老板自己出钱买股票
  • 计提存货跌价准备的存货出售
  • 汇算清缴哪些需要调增调减
  • 个人工资薪金所得怎么算
  • 计提职工非货币福利怎么算
  • 红字发票信息表盖章位置图片
  • 管理费用劳保费属于
  • 公司刚注册之后怎么办
  • 对账状态未对账
  • 材料核销发票未开具
  • 外地施工企业税收征管办法
  • 防伪税控维护费会计分录
  • 小规模纳税人季报需要报什么
  • 收付实现制与权责发生制的区别
  • 开给客户的发票对方已认证
  • 多交税款退税怎么做账
  • 本月没有销项只有进项,月末怎么做账
  • 有形动产租赁服务和不动产租赁服务的区别
  • sysprep.exe是什么
  • 手把手教你win7换主板不重装系统的方法
  • debian10.9安装教程
  • 绝地求生闪退怎么解决win10
  • vue print nb 教程
  • rtmservice.exe - rtmservice是什么进程 有什么用
  • 奖金发放的原则
  • 木质家具出口
  • 乐吾实验学校网站
  • vue项目部署上线 需要做哪些准备
  • 应收票据计提利息
  • 材料款零头抹掉怎么做凭证
  • vue2和vue3面试题
  • webpack打包步骤
  • vue有哪些内容
  • 一般纳税人怎么申请纳税
  • 税控盘技术维护费计入什么科目
  • 筹建期的收入要交企业所得税吗
  • 技术服务收入属于什么收入
  • 如何做固定资产的台账
  • 公司清算的特征
  • sqlserver2008中有那些设备
  • 外购产品用于职工福利企业所得税视作销售吗
  • 以设备投资入股的账务处理
  • 农副产品商贸公司如何做账
  • 低值易耗品费用记在什么费用
  • 当月费用次月报销
  • 企业的借款利息费用,扣除标准是?
  • 已认证发票作废
  • 会计科目表2023
  • 投资收益属于什么科目,借贷方向
  • 商品的结构
  • 事业单位的服务期
  • 上月留抵税额怎么看
  • 宾馆里面的牙膏收费吗
  • 三栏式明细账需要结账吗
  • 测绘费计入什么明细科目
  • 应计入产品成本的停工损失是
  • 税控设备设置在哪儿
  • phpstudy中phpmyadmin无法访问
  • fedora linux安装教程
  • ubuntu安装lnmp环境
  • ubuntu浏览网页
  • 在苹果电脑mac上怎么下载
  • win10不兼容游戏名单
  • linux系统的配置
  • cocos2dx 3.4 lua加密 setXXTEAKeyAndSign
  • perl脚本输出变量
  • Android: netd中DnsProxyListener的简单介绍
  • zigzag源码
  • c# unity ioc
  • js 队列
  • js类的静态属性
  • 税务局冬季作息时间
  • 上期留底税额怎么查
  • 中国税收居民申报
  • 吉林省耕地面积有多少万亩
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设