定期的にログインして、特定のサイトからデータをスクレイピングする必要があります。それを処理するために、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
見ることができます。
エミットを使用する際の問題は、リクエストに応じてスクレイピングされたページの HTML を受け取りたいことです。だから私はにアクセスし/scrape
、それが動作している間10秒待ってページを受け取り、それを呼び出すのではなく、成功したと仮定して別のURLをリクエストして最終的にHTMLを取得したい.
これは SpookyJS で実行できますか? CasperJS を直接使用するより良い方法があるかもしれません。