1 Star 0 Fork 0

大春哥/王者皮肤图片爬虫

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
index.js 1.61 KB
一键复制 编辑 原始数据 按行查看 历史
dcg 提交于 2020-02-24 17:42 . 爬虫
const https = require('https');
const fs = require('fs');
const path = require('path');
let heroList = null;
fs.readFile(path.join(__dirname, 'data/herolist.json'), (err, data) => {
data = JSON.parse(data);
heroList = data; // 获取英雄数据
// heroList = data.filter((v, i) => i < 5);
// 创建目录
heroList.forEach((v, index) => {
fs.mkdir(`./images/${v.cname}`, () => console.log(`${v.cname} 创建完成`));
let length = v.skin_name.split('|').length;
//定时器延迟
setTimeout(() => {
for (let i = 1; i <= length; i++) {
// 下载当前英雄的第i张图片
getImage(v, i);
}
}, index * 1500);
})
})
// 爬图片
function getImage (item, index) {
let url = `https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/${item.ename}/${item.ename}-bigskin-${index}.jpg`;
console.log('url:', url);
const options = new URL(url);
const req = https.request(options, (res) => {
console.log('请求已发送了');
let imgData = "";
res.setEncoding("binary"); //一定要设置response的编码为binary否则会下载下来的图片打不开
res.on("data", function (chunk) { //这步是我百度来的。。。。
imgData += chunk;
});
res.on("end", function () {
fs.writeFile(`./images/${item.cname}/${index}.jpg`, imgData, "binary", function (err) {
if (err) {
console.log(`图片${item.cname}-${index}.jpg保存失败`);
}
console.log(`图片${item.cname}-${index}.jpg保存成功`);
});
});
});
req.on('error', (e) => {
console.error('请求出错');
});
req.end();
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/dttx123/king_skin_picture_reptile.git
git@gitee.com:dttx123/king_skin_picture_reptile.git
dttx123
king_skin_picture_reptile
王者皮肤图片爬虫
master

搜索帮助