我需要定期登录并从特定站点抓取一些数据。我编写了一个在 Heroku 上运行的 CasperJS 脚本来处理它。
这是我想要做的:
app.get('/test', function(request, response) {
scrapeStuff(function(data) {
response.send(data);
});
});
然后,在诡异脚本的最后一步:
spooky.then(function() {
callback(this.getHTML());
});
不幸的是,由于某种原因似乎不可能,因为传递给的函数scrapeStuff
没有在.then()
. (找不到变量:回调)相反,我必须使用this.emit()
和监视它spooky.on
- 您可以在此处查看如何完成此操作的示例。
使用 emit 的问题是我想根据请求接收抓取页面的 HTML。所以我想访问/scrape
,然后在它工作时等待 10 秒并接收页面,而不是调用它,假设它成功并请求另一个 URL 以最终获取 HTML。
这可以用 SpookyJS 完成吗?也许有更好的方法直接使用 CasperJS。