一、Puppeteer
Puppeteer 提供了一系列的 API,可以在无 UI 的情况下调用 Chrome 的各种功能,适用于爬虫、自动化处理等各种情景
文档
中文api文档
英文api文档
// Node:使用Puppeteer完成一次复杂的爬虫(有错误)
玩玩puppeteer,实现一个小‘爬虫’
Puppeteer 初探
Puppeteer的入门教程和实践
爬虫
puppeteer爬虫
Rize文档Rize 是一个提供顶层的、流畅并且可以链式调用的 API 的库,它能让您简单地使用 puppeteer。
轮子:一个简单的node爬虫踩坑之路
Node.js爬取妹子图
二、Node Crawler
Node Crawler 使用说明
https://github.com/755966092/node-crawler-yiche/blob/master/crawler/yiche.js
node-crawler 异步 Promise 和 Promise.all 实现
var Crawler = require("crawler");
const c = new Crawler({
maxConnections : 10
});
// 所有爬虫链接
const urls = ['https://cn.bing.com/', 'https://cn.bing.com/'];
let promiseList = [];
urls.forEach(v => {
promiseList.push(spiderItem(v));
})
// 使用Promise.all
Promise.all(promiseList).then(ress => {
// 所有爬虫链接爬虫完成时调用
console.log(ress)
})
function spiderItem(url) {
return new Promise((resolve, reject) => {
c.queue([{
uri: url,
jQuery: true,
callback: function (error, res, done) {
if (error) {
reject(error);
} else {
resolve(res)
}
done();
}
}]);
})
}
crawler.queue({
uri: 'https://www.huobiinfo.com/flash/',
headers: {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'},
})
查询浏览器的user-agent?
- 在浏览器的地址栏输入:
javascript:alert(navigator.userAgent)
网友评论