浏览器家园
TAG标签|网站导航| 手机访问:m.liulanqi.com
#!/usr/local/bin/node
/**
* @author: vanishcode
* @desc: hahahaha, fuck you, ADs!
*/
const puppeteer = require('puppeteer');
const axios = require('axios');
const fs = require('fs');
var currentNumber = 1;
async function run(url) {
console.log('Start to crawl girl\'s pivtures...');
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
let imgURL = await page.evaluate(() => {
let imgURL = []
let selector = 'a.view_img_link';
let imgUrlList = [...document.querySelectorAll(selector)];
imgUrlList.forEach(e => {
imgURL.push(e.href)
})
return imgURL
});
//console.log(imgURL);
imgURL.forEach((e, i) => {
//console.log(e)
if (currentNumber === 200) {
browser.close();
console.log('All pictures downloaded complete!')
return
}
axios.get(e, {
responseType: 'stream'
}).then(res => {
res.data.pipe(fs.createWriteStream(`./meizi/${currentNumber}.${e.substr(e.length-3)}`));
currentNumber++;
})
});
let nextPage = await page.evaluate(() => {
return document.querySelectorAll('#comments > div:nth-child(4) > div > a.previous-comment-page')[0].href;
})
console.log('OK!');
setTimeout(function() {
run(nextPage)
}, 3000);
}
run('http://jandan.net/ooxx');
较为通用的小爬虫,其实妹子图网站就是一种结构,需要的信息是选择器以及下一页的地址。
本项目使用了puppeteer,确实十分强大,个人感觉headless差不多是chromium暴露接口后的一种产物,在macOS上其实有一点小瑕疵,在启动时候其实图标会显出来然后马上就消失了,自己可以用定时器看一下。
代码是比较水的,重要的是图,是吧。。。。。。。。。
电脑图片浏览器下载,电脑图片查看器免费下载,方便快捷的图片管理工具
Copyright 2019-2029 www.liulanqi.com 【浏览器家园】 版权所有
浏览器家园_下载浏览器就到浏览器家园 | 专注MAC浏览器和Windows浏览器下载和使用介绍
声明: 所有软件和文章收集整理来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告