node 爬虫下载篇,批量下载图片,使用download下载图片、视频、文件
如果你没有搭建过node项目请看我上一篇文章
一、使用request模块下载
1、使用request下载图片,我们需要自己发起请求创建下载通道
2、我在这里下载的是一级目录,没有使用复杂的目录存储,所以如果目录嵌套较深需要手动创建文件夹
3、因为使用的是校园网,网速不是很快,为了保证我下载图片的稳定性,我这里使用的是同步操作,如果你的网速很稳定并且下载的数量很多,可以修改为异步操作
const fs = require('fs'),
request = require('request');// 使复杂的HTTP请求变得简单
fs.readFile('./data.json', (err, res) => {
// 图片网络地址,我这里是一个JSON数据,根据自己的需要进行修改
res = JSON.parse(res);
const len = res.length - 1;
// 记录当前下载到第几项
let index = 0;
// 存储下载失败的图片链接地址
let errorImageUrlList = [];
// 递归函数,使用递归循环防止请求阻塞
const download = () => {
//如果不是JSON数据修改此
let price = res[index].imgUrl;
if (index < len) {
// 使用try抛出异常,防止因为一张图片下载失败,从而导致后面无法继续下载
try {
downloadImage(price, `./images`, (type) => {