位置: 编程技术 - 正文

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调用sql server存储过程
  • 公司其他费用包括哪些费用
  • 不良贷款转让需遵循的原则
  • 收不回的应收账款分录
  • php实现上传文件
  • 免施工许可证
  • 购买材料支出明细表
  • 红嘴牛文鸟图片
  • css中文字垂直排列
  • yolo s
  • 工业企业成本核算的一般程序包括下列的
  • 企业的差旅费计入什么科目
  • 回购证券标的
  • mac os x10.9.5
  • 发票报送日志不完整
  • 工伤报销计入什么科目
  • 工会经费计提基数包括福利费吗
  • 房地产企业收到政府土地补偿款如何入账
  • 驾校挂靠车辆账务处理是?
  • 固定资产的改良支出有哪些
  • 包装物报废收回残料
  • 结转本月销售材料成本
  • 内帐外帐的区别与联系
  • 房地产开发企业增值税怎么算
  • sqlserver比较日期时间
  • 10种Java开发者编写SQL语句时常见错误
  • mysql中注释
  • mysql连接查询和子查询效率
  • ubuntu复制文件到当前文件夹
  • ubuntu安装httpd
  • linux的io
  • linux日期与时间
  • register.exe - register进程有什么用.是什么意思
  • win7电脑剪贴板里面的内容在哪打开
  • centos7.0安装教程
  • linux开启关闭命令
  • 原生js添加css样式
  • bootstrap轮播插件
  • 批处理for命令详解
  • python xml.etree
  • javascript第二章上机怎么写
  • javascript用户名验证
  • javascript基础笔记
  • 大连税务局王局长
  • 贵州税务大厅咨询电话
  • 财税36号文附件3
  • 陈列费发票能抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设