位置: 编程技术 - 正文

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)

  • 申请A级纳税企业需具备哪些条件
  • 含13%的增值税怎么算
  • 汇算清缴银行手续费
  • 怎么增加资产减少负债
  • 车间加班视频
  • 差额征税所得税怎么申报
  • 预收款 交税
  • 其他应收款对方科目是啥
  • 收到投资者购买股票的资金
  • 购买无形资产的价款超过正常信用
  • 买了两个月社保能用多少医药费
  • 增值税未实际收到款项可以抵扣吗?
  • 刷卡手续费可以开经纪代理服务费吗
  • 增值税普票收款人
  • 小区物业宿舍
  • 财务报表批准日是哪一天
  • 期间费用的研究费用填什么
  • 外贸公司是做什么的 经营范围是什么
  • 托收凭证的会计科目
  • 个体户生产所得税怎么计算
  • 销售赠送怎么做账
  • 增值税收入和所得税收入不一致怎么办
  • 不征收增值税的项目有哪些
  • win7安装驱动程序
  • 民办学校的财务制度
  • php与mysql基础教程
  • 评估价值时点依据什么
  • 定额备用金制度
  • 固定资产未提完折旧停止经营怎么处理
  • 小规模纳税人需要缴纳个人所得税吗
  • PHP:pcntl_sigtimedwait()的用法_PCNTL函数
  • 集团关联企业间关联交易对账单
  • 海关交税标准表
  • 客户多付款入哪个科目
  • 递归 php
  • python字符串字面量有哪4种
  • 工作服钱可否收取
  • 怎么冲暂估入账
  • 反射怎么解释
  • 投资进来的钱怎么取出来
  • 燃油税税率是多少
  • 帝国cms使用手册
  • 其他科技推广服务业可以加计扣除吗
  • 管理人员工资结构图
  • 公司借款方式
  • 核定征收方式包括哪几种
  • 建筑企业营改增之前计税方法
  • 股权转让需要开票吗怎么开
  • 企业自产自用的产品需要缴纳增值税吗
  • 增值税发票抵扣联的作用
  • sqlserver数据库获取当前时间
  • 建筑工程机械费用标准
  • 企业所得税和个人所得税怎么算
  • 长期股权投资收益要交税吗
  • 日本发票国内能用吗
  • 出口退税分类管理三类企业
  • 应收账款应付账款借贷方都表示什么
  • 企业网银代发工资明细打印
  • 哪些发票可以报销哪些发票不可以报销
  • 房地产开发票的时间?
  • 账面价值大于计税基础是调增还是调减
  • sqlserver聚集索引和非聚集索引会不会改变原Id
  • mysql怎么修改列的类型
  • win7系统摄像头打不开
  • 控制面板声音设置
  • window10 360
  • 安卓布局优化
  • 查看进程pid的命令是
  • python函数例子
  • 前端编码规范 性能
  • python用while循环求π的值
  • python语言怎么用
  • ubuntu20.04 python
  • python快捷键大全
  • 浏览器工作机制
  • 卸载python后模块库还用卸载吗
  • 银行开业送什么花
  • 工会经费计税依据工资总额包括什么
  • 航天信息的金税盘开票要怎么调格式
  • 如何鼓励互联网企业发展
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设