位置: 编程技术 - 正文

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 开发)

  • 应纳税所得额的会计分录
  • 购买车间使用的设备计入什么
  • 会计分录多借多贷是什么意思
  • 购入原材料结转采购成本的会计分录
  • 年度纳税总额的时间怎么计算
  • 待抵扣税金凭证分录
  • 非居民企业所得税税率10%
  • 营改增税负分析测算明细表一般由谁填写
  • 员工个人无息借款违法吗
  • 实收资本不是资产吗
  • 材料的销售成本计算公式
  • 转让五年以上住房免征个人所得税吗?
  • 合同不含税怎么算
  • 开增值税票需要合同吗
  • 商品混凝土的增值税费率
  • 纳税人识别号在哪里能查到
  • 关于住宿费增值税专发票抵扣问题
  • 企业不重视引起的四大涉税风险
  • 餐饮行业月营业额怎么算
  • 简易计税进项税额转出公式
  • 会计当年是指哪一年
  • 货物装卸过程中由于操作不当或违反操作规程
  • win11 zen3
  • 报关单上的生产销售单位
  • 监控工程付款方式
  • 公司收到医疗保障局打入的钱怎么做账
  • 销售返利如何做账
  • 进口应税消费品的组成计税价格公式
  • win10记事本怎么改字体颜色
  • 小规模纳税人开票限额是多少
  • 尿急尿频尿不尽吃什么药效果好
  • 用应付票据付应付账款
  • 怎么计算土地增值税金额
  • 麦地那老城
  • 购置固定资产用什么凭证
  • 免费设备投放项目
  • 增值税申报时,里面没有数据怎么办
  • php+mysql+jquery实现简易的检索自动补全提示功能
  • ai作画app
  • 挂靠的项目怎么做账
  • 前端开发常用技术
  • 遍历目录文件
  • 小微企业所得税优惠政策2023
  • 企业预付账款怎么做账
  • 库存盘点差异分录
  • 当月增加的固定资产当月不计提折旧
  • mongodb怎么用
  • 如何修改mysql
  • 织梦怎么样
  • 代销货物如何进账
  • 税法上未投入使用的无形资产摊销所得税能扣除吗
  • 红字发票信息表怎么打印出来
  • 金税四期查到了怎么办
  • 以前年度多交的所得税怎么退
  • sqlserver2008默认实例
  • 使用积分换取物的软件
  • 一个公户从农业银行开户
  • 分期付款购入固定资产该如何做账务处理呢?
  • 中秋过节费会计分录
  • 如何抵扣不动产增值税
  • 开票和不开票
  • 原始凭证的会计分录
  • 联想lenovoideapad700-15isk
  • win7一进电脑是花屏
  • dx12最新版本
  • win10预览版绿屏重启解决
  • win10下itunes
  • 批处理语言 从入门到精通
  • perl中sub
  • node 发邮件
  • nodejs xhr
  • jquery mobile
  • python脚本基本命令
  • ECMAScript5(ES5)中bind方法使用小结
  • 税务局冲红发票
  • 各种建筑材料税率表
  • 煤炭洗选工艺
  • 增值税税控开票软件升级
  • 社保工资申报错了可以重新申请吗
  • 2020北京户口指标数量
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设