位置: 编程技术 - 正文

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)

  • 代销返点怎么交税费
  • 分配税后利润需交个人所得税吗
  • 企业土地使用税征收标准
  • 公户网上转账怎么撤回
  • 残疾人就业保障金申报时间
  • 黄金以旧换新怎么算费用
  • 事业单位大型修缮会计分录
  • 付给其他公司的利息怎么做账
  • 跨年度的银行未入账如何处理
  • 委托开发的软件产品即征即退
  • 所得税退税未办理可以注销吗?
  • 税率调整后之前签的合同用变更吗
  • 商业保险可以税前扣除多少
  • 专票进项税可以抵扣几个月以前的
  • 一般纳税人所得税优惠政策
  • 成品油发票长什么样
  • 共同投资项目工程款怎么开票?
  • 单位发的奖金怎样交个税
  • 换汇成本怎么计算
  • 苹果手机14pro max
  • 企业拆迁补偿款税务最新政策
  • 在建工程进项税可以抵扣吗
  • cpu天梯图2022最新版1240p
  • 写入缓存策略无法更改
  • ecap.exe是什么
  • 苹果macOSBigSur是什么型号
  • csrsv.exe是什么
  • 公司员工生病看望的红包能入公司账吗
  • 技术转让所得的税收优惠
  • 国有控股企业改制
  • 小企业固定资产折旧方法包括
  • php获取当前访问目录
  • php504错误
  • windowsserver2012r2远程协助灰色
  • lvresize命令
  • 按摊余成本计量的应收账款
  • 帮别人代发工资有没有风险
  • 税控盘抵扣怎么做账
  • 公司没有人需要申报个税吗
  • php中定义常量的函数是什么
  • python用途
  • MicrosoftSQLserver2014
  • 结转各项成本的会计分录
  • 增值税无票收入负数预警值
  • 建筑公司增值税专用发票税率是多少
  • php配置文件在哪
  • 固定资产减少处理
  • 培训学校收入如何确认
  • mysql复制粘贴
  • 材料估价入库发票收到如何记账
  • 费用利润率计算公式是怎样的?
  • 出差人员的住宿费计入什么科目
  • 收到个人款怎么做分录
  • 外国专家经费管理办法
  • 银行退汇怎么做会计分录
  • 电影赠票怎么用
  • 无形资产内部研究开发支出的处理
  • 出口免费样品怎么做账
  • 日常费用报销管理制度
  • 简易征收是什么意思和一般纳税人
  • sql的理解
  • mysql8设置时区
  • sql的all和any
  • win8.1无法启动怎么办
  • mac苹果电脑如何开4个微信号
  • centos硬盘扩容
  • linux管理员权限命令
  • 为wdcp面板的lnmp服务器添加ipv6支持的方法介绍
  • 下载手游网
  • linux的虚拟终端有几个
  • opencv轻松入门
  • Android GBK与UTF-8
  • Unity3D脚本对预制件无效
  • shell命令大全shell脚本编程100例
  • nodejs bff
  • jquery使用教程
  • javascript 分号
  • 登录上海电子税务局找不到税务数字帐户
  • 自然资源税税率
  • 手表关税税率一般是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设