【发布时间】:2017-07-16 12:03:13
【问题描述】:
我现在使用 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 用户代理,则无法保证您正在抓取的任何网站都会加载它。这可能是问题吗?也可能是您对数据的分配以错误的顺序运行,请尝试将其放在单独的 casper.then() 中。另外,请提供网站链接,该网站可以使用和无法使用,以帮助人们找到答案。
标签: casperjs