位置: 编程技术 - 正文

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)

  • 9个点的发票跟6个点区别
  • 分公司可以独立承担法律责任吗
  • 个人部分社保怎么计算
  • 财报一季度
  • 外商投资企业国内上市最新政策
  • 非同一控制下用什么法
  • 事业单位未取得工资
  • 公司试驾车购置税怎么交
  • 按工人工资比例结转制造费用的科目
  • 冲减预付账款怎么记账
  • 员工离职 社保
  • 学校发票抬头类型填企业还是非企业
  • 普通发票负数发票可以作废吗
  • 个人劳务法律规定
  • 银行流动性比例要求
  • 企业不动产如何带抵押转让
  • 企业购买的土地计入无形资产
  • 资本化利息支出是什么意思
  • 酒店客房收入怎么算
  • 剑灵玩一会就崩溃
  • 开发票没有银行回单可以入帐吗?
  • mac老款设备怎样升级os14
  • 建筑施工企业是落实施工现场带班制度的第一责任人
  • 商场充值卡发票在哪开
  • php正则表达式验证url
  • php 字符串函数
  • 股权出资成立公司的条件
  • dl是什么文件
  • 爬虫10054
  • 购买二手商住房没有给契税发票和购房发票
  • 债务重组利得计入其他收益还是营业外收入
  • vue怎么用bootstrap
  • js实现拖拽选区的功能
  • 收到对方退回的现金
  • 抵扣条件
  • 出口免抵退税的会计分录
  • 误餐补助所得税处理
  • 所得税需要结转么
  • 报关单份数
  • 计提了年终奖还能冲回吗
  • 企业提前还贷为什么违约
  • 11月资产负债表
  • mac安装mysql8.0
  • sql server中字符串常量只能用双引号括起来
  • 不含税单价和不含税合价的区别
  • 新手任务税控设备申请
  • 税控系统技术维护费全额抵扣分录
  • 企业之间借款利息开票编码
  • 未投入使用的固定资产折旧计入什么科目
  • 钢管扣件租赁公司账务处理
  • 缴纳增值税附加税
  • 收到现金货款怎么处理
  • 支出记账凭证单手写
  • 查补以前年度所得税
  • 损益类科目借贷怎么记
  • 扣税时账上没钱怎么办
  • 销售预付卡的账务处理
  • 小规模纳税人申请一般纳税人流程
  • 固定资产清理时累计折旧提完了怎么账务处理
  • 怎么计算预缴及附加税额
  • 开设明细账
  • mysql怎么修改用户名和密码
  • 全民用车app下载
  • freebsd安装到u盘
  • window 80端口被占用
  • win7系统纯净版和旗舰版有什么区别
  • win8.1怎么用
  • win10用户账户guest
  • javascript基础教程教材答案
  • js call.call
  • html中href,src区别
  • javascriptz
  • javascript边框
  • 设计一个投票程序
  • JavaScript获取网页内容
  • javascript基础入门视频教程
  • 云南地方税务局电话
  • 工会经费管理办法2021
  • 日本各界
  • 四川税控
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设