Nodejs簡易爬虫類
Nodejsで爬虫類を作成するのは他の言語と同じように簡単で、各言語の標準ライブラリを比較するのは多くありません.主にページをキャプチャし、domノードを分析し、データを取得します.
requestsの古典的なリクエストライブラリ、cherrioはjqueryのようにdomのライブラリを解析します.ここではcsdnを例に挙げる.
requestsの古典的なリクエストライブラリ、cherrioはjqueryのようにdomのライブラリを解析します.ここではcsdnを例に挙げる.
var request = require('request');
var promise = require('bluebird');
const cheerio = require('cheerio');
const baseUrl = "https://blog.csdn.net/ghostyusheng/article/list/";
function startReq(url) {
return new Promise(function (resolve, reject) {
let titles = [];
request(url, function (error, response, body) {
const $ = cheerio.load(body);
const data = $('h4 > a');
data.map((k) => {
const title = data[k].children[0].next.next.data;
titles.push(title);
})
resolve(titles);
});
});
}
for (let i = 1; i < 10; i++) {
const url = baseUrl + i;
promise
.all(startReq(url))
.then(function(titles) {
console.log('scrawl complate!', titles);
})
}