Javascript 如何在完成SpookyJS脚本时响应请求?
我需要定期登录并从某个特定站点中获取一些数据。 为了解决这个问题,我编写了一个CasperJS脚本在Heroku上运行 以下是我希望能够做到的:Javascript 如何在完成SpookyJS脚本时响应请求?,javascript,node.js,web-scraping,phantomjs,spookyjs,Javascript,Node.js,Web Scraping,Phantomjs,Spookyjs,我需要定期登录并从某个特定站点中获取一些数据。 为了解决这个问题,我编写了一个CasperJS脚本在Heroku上运行 以下是我希望能够做到的: app.get('/test', function(request, response) { scrapeStuff(function(data) { response.send(data); }); }); 然后,在幽灵脚本的最后一步: spooky.then(function() { callback(this.getHTML
app.get('/test', function(request, response) {
scrapeStuff(function(data) {
response.send(data);
});
});
然后,在幽灵脚本的最后一步:
spooky.then(function() {
callback(this.getHTML());
});
不幸的是,由于某种原因,它似乎不可能实现,因为传递给scrapeStuff
的函数没有进入.then()
。(找不到变量:callback)相反,我必须使用this.emit()
并使用spooky.on
监视它-您可以看到
使用emit的问题是,我希望在请求时接收已删除页面的HTML。因此,我想访问/scrape
,然后在它工作时等待10秒,接收页面,而不是调用它,假设它成功并请求另一个URL以最终获取HTML
这可以用SpookyJS完成吗?也许有更好的方法直接使用CasperJS。使用SpookyJS的上下文有三个级别:node(spooky)、casper和网页本身 您可以在3个上下文之间传递数据,但它将被序列化和非序列化,因此您只能使用纯JSON对象 有关其工作原理的详细介绍,请参见