0
私は現在、ウェブクロールにcasperjsを使用しています。ほとんどすべてが良いですが、私はいくつかの問題に直面しました。まず、私のコードは以下のようになります。casperjs evaluate関数が無効な値を返します
casper.start().each(SOME_URLS, function(self, URL) {
self.thenOpen(URL, function() {
self.then(function() {
var getDatas = function() {
var title = $('SOME_SELECTOR').map(function() {
return $(this).text();
}).get();
return {
title: title
};
}
data = self.evaluate(getDatas);
console.log(JSON.stringify(data));
});
});
}).run();
ウェブページからデータを「データ」変数に取得したいとします。時にはデータが完全に良い(console.log上)場合もありますが、データが空であることもあります。
なぜこれが起こっていますか?何が間違っていたのですか?
の内側にあなたのループを配置それをロードする。それが問題だろうか?また、データへの割り当てが間違った順序で実行されている可能性がありますので、別のcasper.then()に入れてみてください。また、人々が答えを見つけるのを助けるために働くものではなく、作用しないウェブサイトへのリンクを提供してください。 –