我是靠谱客的博主 大意白云,这篇文章主要介绍使用node js 批量下载图片到本地,现在分享给大家,希望可以做个参考。

先贴代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var fs = require("fs"); var path = require('path'); var asyncF = require("async"); var request = require('request'); var imageLinks = [ "https://xxx.xxx.com/pn/wsec-img1/2020/6/4/0f5c6214-6c08-4efc-aa42-145947aba3d3.jpg", "https://xxx.xxx.com/pn/wsec-img1/2020/8/3/ae122d8d-b577-481c-9b6a-01c9d4115acb.jpg", "https://xxx.xxx.com/pn/wsec-img1/2019/8/15/90a65578-75c5-4d34-b29d-077dcc0fea7e.jpg" ] var index = 1; var downloadImage = function(src, dest, callback) { request.head(src, function(err, res, body) { // console.log('content-type:', res.headers['content-type']); // console.log('content-length:', res.headers['content-length']); if (src) { request(src).pipe(fs.createWriteStream(dest)).on('close', function() { callback(null, dest); }); } }); }; asyncF.mapSeries(imageLinks, function(item, callback) { //console.log(item); setTimeout(function() { if (item.indexOf("https://img1.wushang.com") === 0) { var destImage = path.resolve("./images/", item.split("/")[item.split("/").length -1]); downloadImage(item, destImage, function(err, data){ console.log("["+ index++ +"]: " + data); }); } callback(null, item); }, 100); }, function(err, results) {});

大体流程 将所要下载的图片链接 写入一个单独的模块,因为图片量比较多。如上图的imageLinks 这个数组。
1.安装模块 npm install fs–save 一次安装上图引入的模块
2.引入所需要的的模块,fs-文件系统,path 模块提供了一些用于处理文件路径的小工具,而后将下载的图片保存到本地某个文件中,async-流程控制工具包,使用异步操作,解决图片下到一般报错的问题,request-网络请求
3.在本地新建一个js文件 main.js ,文件类容如上图js代码
4.在当前main.js目录下 新建一个images文件夹 用于存放下载的图片
在这里插入图片描述
你也可以自己指定存放地址
5.进入main.js文件所在目录 执行命令 node main.js

转载:https://www.meiwen.com.cn/subject/npkhsttx.html

最后

以上就是大意白云最近收集整理的关于使用node js 批量下载图片到本地的全部内容,更多相关使用node内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部