【问题标题】:difference between node.js , casper.js and phantom.js? [closed]node.js 、 casper.js 和 phantom.js 之间的区别? [关闭]
【发布时间】:2014-03-24 19:34:16
【问题描述】:

我读过这三个是用于网页抓取的。但是有什么区别呢?在什么样的环境中一个比另一个更好?

【问题讨论】:

    标签: web screen-scraping


    【解决方案1】:

    Nodejs 是一个基于 Chrome 的 V8 引擎的脚本引擎。 Nodejs 通常用作 Web 服务器,但它实际上是一个脚本引擎,可以运行您喜欢的任何类型的脚本。通过向其他服务器发出请求,然后分析输出,Node 可用于网络抓取。

    Phantomjs 是一个无头的 webkit 浏览器,这意味着它的行为就像一个浏览器,但没有 UI。单独使用时,它构成了 Web 测试框架的一部分,但更好地用于...

    Casperjs 是基于 Phantomjs 构建的实用程序,可帮助您构建自动化测试。

    自动化测试可以被视为网络抓取工具,但这并不是它的真正用途。 Web 测试通常对正在抓取的页面上的更改很敏感,并且不必快速处理 DOM 操作(因为您倾向于一次只做一个页面)。

    我认为 nodejs 可能最适合你想要的。

    【讨论】:

    • 谢谢你。正如你所说,网络抓取是我的意图。在抓取方面,scrapy 更好还是 node.js 更好?
    • Nodejs 将是我的投票。您可以 http 请求其他人的页面进行抓取,并且您有 JavaScript 可以在 DOM 上工作。使用 jquery 和 underscore 库(和其他库),您可以进行出色的抓取设置。你可以通过测试自动化来做到这一点,但如果你想抓取多个目标,你会有点弯曲它。检查您的主机是否可以运行 nodejs。
    • 如果需要 JavaScript 才能让您抓取的内容进入页面,仅发送 HTTP 请求并解析响应是不够的。如果你使用 Node,你可以使用 jsdom 来模拟 DOM。或者您可以使用 PhantomJS 或 CasperJS(CasperJS 是 Phantom + 更多功能)来模仿 Web 浏览器。或者使用 Selenium WebDriver 来驱动一个实际的浏览器。
    猜你喜欢
    • 1970-01-01
    • 2017-05-05
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2014-11-28
    • 2016-08-01
    相关资源
    最近更新 更多