位置: 编程技术 - 正文

nodejs批量下载图片的实现方法(nodejs实现文件下载)

编辑:rootadmin

推荐整理分享nodejs批量下载图片的实现方法(nodejs实现文件下载),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs实现jpg下载,nodejs怎么下载,node.js批量添加数据,node下载图片,nodejs实现文件下载,nodejs怎么下载,nodejs实现jpg下载,nodejs实现文件下载,内容如对您有帮助,希望把文章链接给更多的朋友!

今天想获取一大批猫的图片,然后就在流浪器搜索框中输入猫,然后点击图片。就看到了一大波猫的图片: 爬取图片链接

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

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

分析完毕,刷刷写代码:

2. 下载图片到本地

2.1 粗糙的方案

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

使用方式:

nodejs批量下载图片的实现方法(nodejs实现文件下载)

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

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.总结

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

标签: nodejs实现文件下载

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

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

下一篇:深入理解nodejs中Express的中间件(node.js的概念)

  • 出口退税政策
  • 合同资产指的什么
  • 电子承兑到期了在哪里选择清算方式
  • 小企业以前年度损益调整科目取消了吗
  • 如何确定商品交易价格?
  • 计算土地增值税时增值税可以扣除吗
  • 如何理解出口退税政策
  • 购入货物自用的进项税额转出分录怎么处理
  • 公允价值变动损益属于当期损益吗
  • 小规模纳税人核定征收怎么报税
  • 注销一个公司需要多久
  • 支付车辆保险费及车船税会计科目
  • 民办非企业捐赠支出会计处理
  • 工业企业和其他企业经营的对象
  • 核销以前年度的其他应付款
  • 微软发布Windows 10正式版 新浪
  • 代账会计的职责
  • 电脑硬件检修
  • win11虚拟键盘怎么调出来
  • 一次性计提折旧的政策
  • 网吧登录qq安全吗
  • 如何快速修复
  • 电脑维修会不会对电脑有影响
  • 拍卖公司收入计入什么分录
  • 只有收据没有发票可以保修吗
  • php 首字母大写
  • 借入资金一般采用借入()进行
  • 委托加工物资如何转入生产成本
  • php批量上传
  • php抓取网页图片
  • 支付运费的会计处理
  • php 集成环境
  • vue3.0优点
  • python 命令行参数解析
  • 37.JavaScript对象与JSON格式的转换,JSON.stringify、JSON.parse方法的使用方法和注意事项
  • 印花税税目税率表新旧对比
  • 建筑工程收到材料发票怎么做账
  • atx系统的grpck命令可验证组的合法性
  • 分公司需要交所得税吗
  • 已经认证了的专利怎么办
  • 策划费多少钱
  • 所得税汇算清缴调整项目
  • 购入画图软件
  • 代扣代缴增值税附加税减免政策
  • 制造费用结转本年利润吗
  • 管理费用冲减其他应付款分录
  • 已经认证抵扣的发票,要退回,怎么处理
  • 货款去零头分录
  • 财政补助收入增加在哪一方
  • 营业税暂行实施细则
  • 公司借款给个人400万合法吗
  • 现金日记账退款怎么记账
  • 小规模减免税收入
  • 跨年的费用
  • 预收账款计入应收账款怎么弄
  • 购买扶贫产品属于什么费用
  • 事业单位用电收费标准
  • 慧通年终奖怎么计算
  • 小规模纳税人做账分录全套流程最新
  • 企业产值什么意思
  • 私营公司的钱怎么拿出来
  • msde安装1秒不动了
  • mysql经典书
  • mac安装pyenv
  • SUSE Linux Enterprise Server 11 SP3安装教程详解
  • 一台电脑多个用户组怎么显示在一个屏幕上
  • ubuntu安装chia
  • win8 cmd在哪
  • 微软正式推出wind...
  • html中title的作用
  • cocos2dx官方教程
  • uploadify文件上传
  • 在windows窗口中以下叙述错误的是
  • java多线程最佳实践
  • css使用教程
  • python数值计算基础
  • linux shutdown命令详解
  • 沉浸式状态栏xposed模块
  • js中对象
  • 耕地占用税免税项目需要计入计税依据吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设