Nightmare / Electron で動的ページング Web サイトをスクレイピングしようとしています。doを実行する方法がわかりません...悪夢のような関数を使用するか、ロジックで評価呼び出しを連鎖させる方法が必要です。
これは、単にフレーズを Google で検索し、ページ 1 から結果の hrefs を返す簡単なコード例です。このコードを結果の各ページに続けてほしいと思います。
var Nightmare = require('nightmare');
var vo = require('vo');
vo(function* () {
var nightmare = Nightmare({ show: true });
var links = yield nightmare
.goto('http://www.google.com')
.wait('input[title="Search"]')
.click('input[title="Search"]')
.type('input[title="Search"]', 'Anequim Project')
.click('input[name="btnK"]')
.wait(600)
.evaluate(function(){
var linkArray = [];
var links = document.querySelectorAll('h3.r a');
for (var i = 0; i < links.length; ++i) {
linkArray.push(links[i].getAttribute('href'));
}
return linkArray;
});
yield nightmare.end();
return links;
})(function (err, result) {
if (err) return console.log(err);
console.log(result);
});