位置: 编程技术 - 正文

nodejs制作爬虫实现批量下载图片(node爬取数据)

编辑:rootadmin

推荐整理分享nodejs制作爬虫实现批量下载图片(node爬取数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node做爬虫,node.js写爬虫,nodejs做爬虫,nodejs爬虫框架crawler,nodejs做爬虫,node.js写爬虫,node做爬虫,node.js写爬虫,内容如对您有帮助,希望把文章链接给更多的朋友!

今天想获取一大批猫的图片,然后就在流浪器搜索框中输入 猫 ,然后点击图片。就看到了一大波猫的图片: ,我在想啊,要是审查元素,一张张手动下载,多麻烦,所以打算写程序来实现。不写不知道,一写发现里面还是有很多道道的。

1. 爬取图片链接

因为之前也写过nodejs爬虫功能(参见:NodeJS制作爬虫全过程 ),所以觉得应该很简单,就用cheerio来处理dom啦,结果打印一下啥也没有,后来查看源代码:

发现 waterfall_zoom 里面空空如也,查找了一下,发现所有的数据都是写在 <script> 里面,然后动态加载到页面的,所以用cheerio.load到的页面里面其实没数据的。真实数据:

分析完毕,刷刷写代码:

2. 下载图片到本地 2.1 粗糙的方案

最初的思路很简单,简单的 fs.createWriteStream() 就能解决:

使用方式:

成功捕获一只猫!然后写了一个循环准备捕获所有猫。然而这种方式是串行的,速度很慢!下载一大批图片要花大量时间。

nodejs制作爬虫实现批量下载图片(node爬取数据)

2.2 使用async异步批量下载

关于async的map操作,详见: async_demo/map.js ,对集合中的每一个元素,执行某个异步操作,得到结果。所有的结果将汇总到最终的callback里。与forEach的区别是,forEach只关心操作不管最后的值,而map关心的最后产生的值。

提供了两种方式:

并行执行。 async.map 同时对集合中所有元素进行操作,结果汇总到最终callback里。如果出错,则立刻返回错误以及已经执行完的任务的结果,未执行完的占个空位

顺序执行。 async.mapSeries 对集合中的元素一个一个执行操作,结果汇总到最终callback里。如果出错,则立刻返回错误以及已经执行完的结果,未执行的被忽略。

在此处:

注: 此处使用setTimeout,是因为下载需要一定时间,在笔者较慢网速下,需要ms的间隔能确保每张图片下载完全。

成功捕获一批猫猫!

2.3 使用bagpipe批量

bagpipe 是朴灵大大做的一个在nodejs中控制并发执行的模块。其安装和使用也比较简单:

使用:

在此处:

3.总结

作为一个程序员,能用程序解决就不手动解决。每一次尝都会有新的收获。

详解Node.js开发中的express-session 什么是sessionsession是保存在服务器端的会话。session的典型应用场景是用户登录某网站之后,将其登录信息放入session,在以后的每次请求中查询相应的登

nodejs批量下载图片的实现方法 今天想获取一大批猫的图片,然后就在流浪器搜索框中输入猫,然后点击图片。就看到了一大波猫的图片:

深入理解nodejs中Express的中间件 Express是一个基于Node.js平台的web应用开发框架,在Node.js基础之上扩展了web应用开发所需要的基础功能,从而使得我们开发Web应用更加方便、更加快捷。

标签: node爬取数据

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

上一篇:Node.JS利用PhantomJs抓取网页入门教程(nodejs怎么使用)

下一篇:详解Node.js开发中的express-session(node 开发)

  • 生育津贴是否需要申报免税所得
  • 非税缴税是什么意思
  • 收客户刷卡手续费时客户不愿意缴费,如何处理
  • 缴纳上月附加税会计科目
  • 普通发票金额和申报工资有关系吗
  • 飞机票退票费如何处理账务
  • 停用的厂房折旧吗
  • 支付违约金未取得正规发票能不能在税前列支
  • 出口退税收入做什么科目
  • 收到其他银行划回的款项属于什么科目
  • 当月发票已认证还能作废吗
  • 开了负数发票印花税减掉吗?
  • 水费税收分类编码
  • 对外支付类型
  • 待抵扣进项税 待认证进项税
  • 1697507882
  • 小规模纳税人缴纳增值税的会计科目
  • 没有证书可以报特长生吗
  • 工程预收款账务处理
  • 法定代表人的个人债务会执行公司财产么
  • 北大新闻传播学院副院长
  • 结转已经销售商品成本的分录
  • windows7怎么操作
  • 公司取得的营业收入
  • 银行复利息合法吗?
  • 享受安置残疾人优惠政策的报告怎么写
  • yolo 源码
  • 商住房买卖过户流程
  • 没有发票怎么做研发费用
  • 阐述php的特点
  • 财政补贴是解决什么问题的
  • 目标检测现状
  • 电票怎么付给别人
  • 其他免税销售额>0时,免税性质代码不能为空是什么意思
  • javascript保留字有哪些
  • 图表库网站
  • 万能的python
  • 帝国cms使用手册
  • 税控盘技术维护费计入什么科目
  • 董事会会费应计什么科目
  • file file=new file()的作用
  • 外管证超期
  • 利得都需要缴纳企业所得税吗
  • 职工教育经费中的员工讲课费要发票吗
  • 个税出现负数是什么意思
  • 税控盘的费用做什么会计科目
  • 长期应付款的会计编号
  • 增值税扣款了能退回吗?
  • 承兑汇票利息分录
  • 合同里包括产品和服务吗
  • 预付卡充值入什么科目
  • 收到免税发票怎么做账
  • 奖金如何做账分录
  • 暂估入库一直未取得发票需要调账吗
  • 挂靠建筑公司预交的增值税如何做凭证?
  • 进项发票已认证未抵扣分录
  • mysql优化步骤
  • oracle序列修改初始值
  • mysql 修改配置
  • windows2008教程
  • ubuntu怎么安装包
  • mac声音无法调节
  • apache not found
  • wp8.1怎么升级wp10
  • 如何用u盘安装win8操作系统
  • 塔防游戏二战
  • python怎么输出日志
  • 压缩的linux命令
  • 如何在unity里设置碰撞体积
  • Android 自定义view炫酷动画
  • python字符有哪些
  • android 加载大量图片
  • python中json的用法
  • 国家税务江苏税务总局官网
  • 税控盘丢失怎么写情况说明
  • 一般纳税人注销公司需要查账吗
  • 纳税服务的背景是什么
  • 深圳城管局 局长
  • 怎样登录市地税局网站
  • 税务筹划前景
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设