上記のすべての解決策は、スクレーパーをローカルで実行することを前提としています。これは、パフォーマンスが大幅に制限されることを意味します(シーケンスまたは限られたスレッドセットで実行されるため)。より良いアプローチは、既存の、商用ではあるが、スクレイピンググリッドに依存することです。ここで
var bobik = new Bobik("YOUR_AUTH_TOKEN");
bobik.scrape({
urls: ['amazon.com', 'zynga.com', 'http://finance.google.com/', 'http://shopping.yahoo.com'],
queries: ["//th", "//img/@src", "return document.title", "return $('script').length", "#logo", ".logo"]
}, function (scraped_data) {
if (!scraped_data) {
console.log("Data is unavailable");
return;
}
var scraped_urls = Object.keys(scraped_data);
for (var url in scraped_urls)
console.log("Results from " + url + ": " + scraped_data[scraped_urls[url]]);
});
、スクレイピングがリモートで実行され、コールバックが結果は(彼らが利用可能になるとの結果を収集するオプションもあります)準備ができている場合にのみ、あなたのコードに発行されます。ここでは
は一例です。
あなたが自分自身は私が研究を行ってきたhttps://github.com/emirkin/bobik_javascript_sdk
あなたの2番目のリンクが自分の質問に答えるように感じます –
@sirhc - node.ioは_exactly_のように見えます...ありがとう! – Avishai
私はこれを保証することができます;) – chriso