位置: 编程技术 - 正文

node+experss实现爬取电影天堂爬虫(node网络爬虫)

编辑:rootadmin

推荐整理分享node+experss实现爬取电影天堂爬虫(node网络爬虫),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node爬数据,node爬取视频,nodejs做爬虫,nodejs做爬虫,node爬数据,node.js爬虫教程,node做爬虫,node做爬虫,内容如对您有帮助,希望把文章链接给更多的朋友!

上周写了一个node+experss的爬虫小入门。今天继续来学习一下,写一个爬虫2.0版本。

这次我们不再爬博客园了,咋玩点新的,爬爬电影天堂。因为每个周末都会在电影天堂下载一部电影来看看。

talk is cheap,show me the code!

抓取页面分析

我们的目标:

1、抓取电影天堂首页,获取左侧最新电影的条链接

2、抓取部新电影的迅雷下载链接,并且并发异步抓取。

具体分析如下:

1、我们不需要抓取迅雷的所有东西,只需要下载最新发布的电影即可,比如下面的左侧栏。一共有个,除去第一个(因为第一个里面有部电影),一共有部电影。

2、除了抓取首页的东西,我们还要抓取点进去之后,每部电影的迅雷下载链接

环境搭建

1、需要的东西:node环境、express、cherrio 这三个都是上一篇文章有介绍的,所以这里不再做介绍:点击查看

2、需要安装的新东西:

superagent:

作用:跟request差不多,我们可以用它来获取get/post等请求,并且可以设置相关的请求头信息,相比较使用内置的模块,要简单很多。

用法:

superagent-charset:

作用:解决编码问题,因为电影天堂的编码是gb,爬取下来的中文会乱码掉。

用法:

async:

作用:Async是一个流程控制工具包,提供了直接而强大的异步功能,在这里作为处理并发来调用。

用法:这里需要用到的是:async.mapLimit(arr, limit, iterator, callback)

mapLimit可以同时发起多个异步操作,然后一起等待callback的返回,返回一个就再发起下一个。

arr是一个数组,limit并发数,将arr中的每一项依次拿给iterator去执行,执行结果传给最后的callback

node+experss实现爬取电影天堂爬虫(node网络爬虫)

eventproxy:

作用:eventproxy 起到了计数器的作用,它来帮你管理到底异步操作是否完成,完成之后,它会自动调用你提供的处理函数,并将抓取到的数据当参数传过来。

例如我首先抓取到电影天堂首页侧栏的链接,才可以接着抓取链接里面的内容。具体作用可以点这里

用法:

开始爬虫

主要的程序在app.js这里,所以看的话可以主要看app.js即可

1、首先定义一些全局变量,该引入的库引进来

2、开始爬取首页迅雷首页:

在这里,我们先抓取首页的东西,把首页抓取到的页面内容传给 getAllMovieLink和highScoreMovie这两个函数来处理,

getAllMovieLink获取到了左侧栏除了第1部的电影的电影。

highScoreMovie为左侧栏第一个链接,里面的都是评分比较高的电影。

上面的代码中,我们弄了一个计数器,当它执行完之后,我们就可以执行与‘get_topic_html‘名字对应的流程了,从而可以保证在执行完首页的抓取工作之后,再执行次级页面的抓取工作。

highScoreMovie方法如下,其实我们这里的作用不大,只是我统计一下高评分电影首页的信息,懒的继续抓取了

3、分离出左侧栏的信息,

如下图,首页中,详情页的链接都在这里$('.co_content2 ul a')。

因此我们将左侧栏这里的详情页链接都遍历出来,保存在一个newMovieLinkArr这个数组里面。

getAllMovieLink方法如下:

4、对获取到的电影详情页进行爬虫,提取有用信息,比如电影的下载链接,这个是我们所关心的。

首先是async.mapLimit对所有详情页做了一个并发,并发数为5,然后再爬取详情页,爬详情页的过程其实和爬首页的过程是一样的,所以这里不做过多的介绍,然后将有用的信息打印到页面上。

5、执行命令之后的图如下所示:

浏览器界面:

这样,我们爬虫的稍微升级版就就完成啦。可能文章写的不是很清楚,我已经把代码上传到了github上,可以将代码运行一遍,这样的话比较容易理解。后面如果有时间,可能会再搞一个爬虫的升级版本,比如将爬到的信息存入mongodb,然后再在另一个页面展示。而爬虫的程序加个定时器,定时去抓取。

备注:如果运行在浏览器中的中文乱码的话,可以将谷歌的编码设置为utf-8来解决;

代码地址:

Node.js测试中的Mock文件系统详解 Mock文件系统相关的工具包括:Mockfs模块的工具mock-fs。Mockrequire模块的工具mock-require。安装mock-fs和mock-require都是NPM软件包,在项目中可通过npm直接安装:

Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例 问题:将图片转成datauri今天,在QQ群有个群友问了个问题:nodejs读取图片,转成base,怎么读取呢?想了一下,他想问的应该是怎么样把图片嵌入到网

Nodejs进阶:基于express+multer的文件上传实例 概览图片上传是web开发中经常用到的功能,node社区在这方面也有了相对完善的支持。常用的开源组件有multer、formidable等,借助这两个开源组件,可以轻

标签: node网络爬虫

本文链接地址:https://www.jiuchutong.com/biancheng/374089.html 转载请保留说明!

上一篇:Node.js 实现简单小说爬虫实例(nodejs实战教程)

下一篇:Node.js测试中的Mock文件系统详解(nodejs 性能测试)

  • 进口商品需要缴纳哪些税
  • 中国注册税务师协会官网
  • 个税返还手续费奖励员工账务处理
  • 混合销售行为如何缴纳增值税税率
  • 车辆补贴的钱最快多久到账
  • 上月已收款,本月开的票怎么做分录
  • 建筑行业进项税率一览表
  • 个税专项扣除中途贷款改租房
  • 增值税进项加计扣除计入哪个科目
  • 企业财产损失审批前后的账务处理
  • 车间一般性耗用材料会计分录
  • 出口货物是否属于存货
  • 行政事业单位餐标
  • 我的初级备考经历怎么写
  • 母公司收购少数股东股权,之前的利润母公司不享有
  • 施工企业仪器设备入什么会计科目核算?
  • 企业破产清算怎么做账务处理实务工作
  • 税金及附加小于应缴纳所得税是什么原因
  • 申报所得税营业税怎么算
  • 购进固定资产抵扣时咋填报增值税
  • 税收征收管理法
  • 如何计算一般稳定球面腔的主要参量
  • 股权成本计算公式rd
  • 电子汇票如何使用
  • 停车场收入如何确认缴税
  • 生产车间购入材料会计分录
  • 购买方已认证的专票怎么红冲
  • 损益类科目的借方是增加还是减少
  • 小微企业工业企业认定标准
  • 财务线上线下是什么意思
  • Linux系统中quota磁盘命令的相关使用解析
  • win11快捷键大全
  • 货款已预付会计分录
  • php数据类型分为哪几类
  • 井冈山游击队的口号
  • 业务招待费专票可以抵扣增值税吗
  • 机关事业单位购买茶叶违反什么规定
  • set0
  • vscode入门视频
  • 机器学习评估指标 - f1, precision, recall, acc, MCC
  • 收到招标文件怎么回函
  • 个税专项附加扣除具体怎么操作
  • 物业收取停车费需要业主同意吗
  • 学习笔记——Servlet
  • 帝国cms相关文章调用
  • 开增值税专用发票的好处
  • 个税申报汇算清缴流程
  • 生活服务的行业
  • 普通发票应怎么开具
  • 出口货物的进项税
  • 公司购入的财务会计分录
  • 税务机关如何对个人股东股权财务报表审核
  • 缴纳社保公积金的会计分录
  • 垃圾清运费会计处理
  • 工会发放节日慰问品种类
  • 固定资产计提完了怎么处理
  • 一般纳税人哪些项目可以简易征收
  • 高新企业认定条件2022上海
  • 商业企业购进商品的分录
  • 被遗忘的战役
  • 催化剂过低怎么解决
  • 国产操作系统有免费的吗
  • 怎样开启bios
  • Windows时间同步时出错该怎么解决?
  • gpt分区方法
  • 如何修改注册表值
  • win8操作
  • 右键回收站一直转圈
  • win8.1应用
  • 简单谈谈对中国电信的认识
  • 关于全局变量和局部变量说法不正确的是
  • jquery中的css方法
  • jquery设置iframe的src
  • centos python2.7升级到3.7
  • 辽宁省国家税务局电子税务局官网
  • 河北省地税网上缴费平台
  • 保险专票可以抵进项税吗
  • 三证合一,税号和营业执照不一样可以吗
  • 湖北国税办税人是谁
  • 税务检查企业所得税案例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设