【发布时间】:2023-03-25 16:36:02
【问题描述】:
我需要抓取一个大部分构建在 JavaScript 之上的 Web 应用程序,例如,当我点击一个链接时,会有一个 Ajax 请求会带来结果。
我一直在用 PhantomJS 做一些测试。我需要知道的是:PhantomJS 是否足以抓取这样的网页,或者我需要在上面使用 CasperJS 之类的东西?
【问题讨论】:
标签: web-scraping phantomjs casperjs
我需要抓取一个大部分构建在 JavaScript 之上的 Web 应用程序,例如,当我点击一个链接时,会有一个 Ajax 请求会带来结果。
我一直在用 PhantomJS 做一些测试。我需要知道的是:PhantomJS 是否足以抓取这样的网页,或者我需要在上面使用 CasperJS 之类的东西?
【问题讨论】:
标签: web-scraping phantomjs casperjs
由于 CasperJS 是在 PhantomJS 之上构建的,因此您可以在 PhantomJS 中执行您在 CasperJS 中可以执行的所有操作。唯一的区别是使用 CasperJS 编写导航代码更快、更舒适。
PhantomJS 是一个完整的(无头)浏览器。所以,你可以用普通的非无头浏览器做的所有事情,你也可以用 PhantomJS/CasperJS 做。限制通常是浏览器的可用功能。最近发布的 PhantomJS 2 现在支持许多 Web 标准,这应该不再像 PhantomJS 1.x 那样成为问题。 Flash 支持仍然是个问题,需要补丁和编译过程。
【讨论】: