Avi*_*hai 65 javascript jquery screen-scraping node.js web-scraping
使用Node.js刮取网站内容有什么好处.我想构建非常非常快的东西,可以执行kayak.com风格的搜索,其中一个查询被分派到几个不同的站点,结果被删除,并在它们可用时返回给客户端.
我们假设这个脚本应该只提供JSON格式的结果,我们可以直接在浏览器或其他Web应用程序中处理它们.
一些起点:
有人有什么想法吗?
所有上述解决方案都假设在本地运行刮刀.这意味着您将受到严重的性能限制(由于按顺序或在一组有限的线程中运行它们).一个更好的方法,imho,是依靠现有的,虽然商业化的刮网.
这是一个例子:
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]]);
});
Run Code Online (Sandbox Code Playgroud)
这里,远程执行抓取,只有在结果准备就绪时才会向您的代码发出回调(还有一个选项可以在结果可用时收集).
您可以在https://github.com/emirkin/bobik_javascript_sdk下载Bobik客户端代理SDK
归档时间: |
|
查看次数: |
43371 次 |
最近记录: |