0
我现在使用casperjs进行网络爬行。几乎一切都很好,但我遇到了一些麻烦。首先,我的代码如下所示。casperjs评估函数返回无效值
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上),但有时数据是空的!
为什么会发生这种情况?我错了什么?
它看起来像你使用jQuery,如果你不把它添加到您的卡斯帕用户代理没有保证,无论网站你刮加载它。这可能是问题吗?也可能是您的数据分配按错误顺序运行,请尝试将其放入单独的casper.then()中。另外,请提供链接到网站,它的工作原理并不能帮助人们找到答案。 –