位置: 编程技术 - 正文

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的概念)

  • 增值税核算办法
  • 销售商品返还现金
  • 税盘维护费的账务处理
  • 税前经营利润计算
  • 个人转让著作权免税吗
  • 公司注销章要销毁吗
  • 出资人和法人承担责任
  • 销售收入是不是营业收入
  • 申报个人所得税会计分录
  • 原始凭证的主要类型
  • 房产税原价包括地价吗
  • 咨询费发票怎么入账
  • 应交税金减免税金需要结转吗
  • 广告宣传怎么开发票
  • 个体没有地址怎么办理执照
  • 材料发票不够怎么办
  • 红字发票冲红步骤
  • 汇算清缴补交的税怎么做凭证
  • 上年免税收入转内销补交税分录
  • 企业间拆借应收利息记哪个科目?
  • 电子通行费如何开发票
  • 审计报告报备流程
  • 免税进口种子要符合哪些条件?
  • 政府奖励资金如何入账
  • 征信费用会计分录
  • 线上授权经销商
  • 华为mate40怎么打开开发者选项
  • echarts w3c
  • 最常用的成本核算方法表
  • vue获取input
  • php实现原理
  • php常用数组函数和用法
  • php实现多维数组输入
  • 动力和燃料的区别
  • 深入理解php中的数字
  • 增长gdp是什么意思
  • 福利费入账要求
  • egi脑电数据处理
  • php curl_setopt
  • 帝国cms怎么用
  • 购买农产品取得增值税普通发票可以抵扣吗
  • 记账凭证的记账符号要打勾吗
  • 递延收益期限
  • python国内下载地址
  • 数据库帮助文档
  • 账务处理相关内容
  • 延期缴纳土地使用税怎么办理
  • sqlserver根据查询结果创建表
  • 雇佣临时工需要交个人所得税吗
  • 销售收入发生变动的影响
  • 企业办税人员如何实名认证
  • 电子承兑汇票到期怎么兑现
  • 残保金逾期申报了补报会有罚款和滞纳金吗?
  • 福利部门的福利有哪些
  • 报销差旅费用什么收款凭证还是转账凭证
  • 住房公积金的账号怎样可以查询得到
  • 使用sql查询
  • SQL 中sp_executesql存储过程的使用帮助
  • chrome浏览器81.0
  • win2008远程桌面闪退
  • openstack 创建云主机,计算节点磁盘不足
  • debian8安装
  • 电脑上view是什么意思
  • macbookair numbers
  • E: Encountered a section with no Package: header错误解决方法
  • ubuntu安装配置静态ip地址
  • mac 特殊符号
  • scair.exe是什么程序
  • 后缀是nb是什么程序
  • win7升级到win10专业版教程
  • macbook core2
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • javascript原生写法
  • 简单的jquery插件实例
  • jquery实现点击按钮
  • 临沂国税地税局领导班子
  • 四川税务申报如何网上申报零申报
  • 重庆国税电子税务局
  • 税控盘打不开
  • 事业单位的会计制度是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设