node.js - Node.io、JSDOM 还是 PhantomJs?或者,YQL-data.html.cssselect?

标签 node.js phantomjs web-crawler jsdom node.io

我需要抓取一个特定的网站来挖掘一些相关信息。 看起来首先我必须搜索该网站以获取相应的 URL,这些 URL 在抓取时将为我提供详细信息。

假设搜索网址是

example.com/city1/search.html?cat=category1&locality=location1&page=1

这意味着,对于位置和页面,可以有 city2、city3 等。类别可以是 Category2、category3 等。

我已经收集了所有的城市、类别、位置和页面,可以递增直到结果不为空。

获取所有 URL 后,我必须从每个 URL 中挖掘出详细信息。我已经看到某些必要的信息可以作为 javascript 的一部分提供。

现在,我已经看到了node.io、jsdom和phantomjs。我也看过yql。 由于我对此很陌生,请根据您的经验建议我,在这种情况下哪一个是理想的。

如果你能举一些例子,那就太棒了。

最佳答案

PhantomJS 可以在您提供的 URL 中运行 javascript,如果 URL 包含 javascript/ajax 内容,则非常有用。 虽然 YQL 不在网站中运行 javascript/ajax,但它很快就能完成一些工作

关于node.js - Node.io、JSDOM 还是 PhantomJs?或者,YQL-data.html.cssselect?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13540108/

相关文章:

node.js - ExpressJS + EJS : Avoid "variable is not defined" globally

phantomjs - 自定义 casperjs 模块

node.js - phantomjs + 网络字体 + 字体加载器

python - 网络爬虫的线程建议 - 使用单个列表进行调度

node.js - "Expected ` onClick ` listener to be a function, instead got a value of ` string`类型(ReactJS/Material UI)

node.js - 如何使用 node-mongodb-native 驱动程序删除文档?

python - Scrapy,只遵循内部 URLS 但提取所有找到的链接

c# - 如何使用 AbotX Javascriptrendering 在网页上覆盖和执行操作

javascript - sails.js 从 Controller 方法访问 Controller 方法

javascript - CasperJs 电子邮件在文本框中无效