位置: 编程技术 - 正文

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)

  • 进项税转出的金额含税吗
  • 劳务公司的个税如何申报
  • 开一般户需要提交人行吗
  • 测试费明细
  • 收到赔偿款怎么做分录
  • 当月已抵扣的专用发票能作废吗
  • 汽车计提折旧年限及残值率
  • 收到诉讼状之后怎么办
  • 房地产企业收到预收款如何纳税
  • 应交税金的期末余额怎么算
  • 报销凭证找不到了怎么办
  • 筹资活动现金净流量为正说明什么
  • 进项明细和开票明细不一致怎么办
  • 现代服务促销服务费的经营范围
  • 一般公司报销一个月报销几次
  • 进口增值税 海关
  • 发票可以作为原始凭证吗
  • 个税申报需要补税是什么情况
  • 关联企业纳税调整期限
  • 如何能屏蔽自动扣费服务
  • 促销礼物
  • 猫光纤信号灯闪红
  • php随机生成1到3的数字
  • php字符串型数据的定义方式
  • 金枝玉叶怎么养才爆盆
  • 无形资产累计摊销借贷方向
  • 如何发放年终奖 一个蒸蒸日上的公司,当
  • regsrv.exe - regsrv是什么进程 有什么用
  • PHP:pcntl_wstopsig()的用法_PCNTL函数
  • 货运代理开票
  • vue引入高德地图绘制多边形,编辑多边形
  • 固定资产盘盈为什么要调整所得税
  • 其他债权投资减值可以转回吗
  • 浅析论文题目
  • php处理xml数据
  • 什么是加计扣除政策
  • Midjourney之外21款免费的AI Image画图网站集合
  • cvpr2020结果
  • route命令的作用
  • php绘图库
  • 存放中央银行款项借方表示什么意思
  • 虚开增值税发票不是也要缴税吗
  • 要求供应商赔偿说明函范本
  • 购买一台电脑2400元贵吗
  • 个人所得税和投保的区别
  • 债券承销费是指什么费用
  • 税金及附加如何计算公式
  • 个人开运输发票需要的资料哪些?
  • 上期计提的费用怎么入账
  • 制造费用转入生产成本摘要怎么写
  • 一般纳税人的资格登记
  • 其他业务收入的现金流量项目
  • 什么情况会影响到征信
  • 投资收益下期间怎么结转
  • 冲销应付账款暂估应付账款的分录怎么做
  • sqlserver数据库建库建表
  • Windows环境下,在给文件命名时( )
  • unix系统中目录采用什么结构
  • hosts文件不起作用
  • xp系统 win7
  • ubuntu 改名
  • linux w
  • 开启win10
  • win10一直显示正在启动
  • win8怎么改系统
  • win8.1开机进入桌面
  • 横版格斗rpg手游
  • cocos2dx-js
  • shell linux命令详解
  • perl变量后拼接字符串
  • etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
  • isscroll.js
  • 使用jquery实现的项目
  • javascript语言基础
  • 企业所得税问题的研究论文
  • 北京地方税务局李宗定
  • 深圳沙井社保局在哪个位置
  • 厨房申购单怎么写
  • 开票时间超时怎么办
  • 税控软件怎么升级到新版本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设