14
因为组织观影活动需要统计报名和收集影评,选择微信小程序“报名工具”,管理员下载数据发现影评只是一个图片的URL链接,需要自己手动下载,哪里能难倒程序员?

1. 下载的Excel数据表:

Excel数据

2. 代码:

const xlsx = require('xlsx');
const mkdirp = require('mkdirp');
const request = require('request');
const fs = require('fs');

const workbook = xlsx.readFile('data.xls');

const sheetNames = workbook.SheetNames; // 返回 ['sheet1', ...]
const worksheet = workbook.Sheets[sheetNames[0]];
const data = xlsx.utils.sheet_to_json(worksheet);

const dir = './images';

// 创建文件夹
mkdirp(dir);

data.forEach(item => {
    request.head(item.img, (err, res, body) => {
        request(item.img).pipe(fs.createWriteStream(dir + "/" + item.name+'.jpg'));
    });
})

3. 运行结果:

图片描述

4. 参考链接:

SheetJS/js-xlsx
Node.js批量抓取高清图片


芒果屋里的猫
2.3k 声望363 粉丝

同步 -> 异步 -> 回调