什么';这是一个支持Javascript的screen scrape的好工具吗?

什么';这是一个支持Javascript的screen scrape的好工具吗?,javascript,screen-scraping,Javascript,Screen Scraping,是否有一个好的测试套件或工具集可以自动进行网站导航(支持Javascript),并从页面中收集HTML 当然,我可以用BeautifulSoup直接创建HTML。但这对需要Javascript的网站没有好处。:) 请记住,对javascript和javascript的痴迷会扰乱浏览器的页面内部DOM模型,对原始HTML没有任何影响。要编写一个能够与任意站点协同工作的解决方案是非常困难的。每个导航菜单实现都可能非常独特。我曾经与scraper打过很多交道,如果你知道你想要的目标站点,下面是我的方法

是否有一个好的测试套件或工具集可以自动进行网站导航(支持Javascript),并从页面中收集HTML


当然,我可以用BeautifulSoup直接创建HTML。但这对需要Javascript的网站没有好处。:)

请记住,对javascript和javascript的痴迷会扰乱浏览器的页面内部DOM模型,对原始HTML没有任何影响。

要编写一个能够与任意站点协同工作的解决方案是非常困难的。每个导航菜单实现都可能非常独特。我曾经与scraper打过很多交道,如果你知道你想要的目标站点,下面是我的方法

通常,如果分析nav菜单中使用的特定javascript,使用正则表达式提取用于构建nav菜单的整个变量集是相当容易的。我从未使用过Beautiful Soup,但从您的描述来看,它可能只适用于HTML元素,而无法在脚本标记中工作

如果您仍然有问题,或者需要模拟一些表单帖子或ajax,请获取Firefox并安装插件。此插件将允许您手动浏览站点,并捕获正在导航的URL以及手动浏览期间传递的任何cookie。这就是您需要scraperbot发送请求以从目标Web服务器获取有效响应的内容。这还将捕获任何正在进行的ajax调用,在许多情况下,相同的ajax调用必须在您的scraper中实现,以获得所需的响应。

您可以使用或驱动真正的浏览器

还有一些基于JavaScript的无头浏览器:

  • 是一款无头Webkit浏览器。
    • 是一个基于PhantomJS和jQuery的抓取框架
    • 是一个基于PhantomJS的导航脚本和测试工具,如果您需要做的不仅仅是指向要删除的URL
  • 为了

就我个人而言,我最熟悉Selenium,它支持用大量语言编写自动化脚本,并拥有更成熟的工具,如优秀的Firefox扩展,可用于编写和运行测试用例,并且可以将测试脚本导出到多种语言。

我一直在使用Selenium,它发现它非常有效。 Selenium在浏览器中运行,将与Firefox、Webkit和IE配合使用。
@insin Watir不仅仅是IE

使用也有可能

HtmlUnit是一款“无GUI浏览器,适用于 Java程序”。它为HTML建模 文档并提供一个API 允许您调用页面、填写 表单、单击链接等。。。就像 您可以在“普通”浏览器中执行此操作

它有相当好的JavaScript支持 (不断改进)并且 即使在非常复杂的环境下也能工作 AJAX库,模拟 Firefox或Internet Explorer取决于 在要使用的配置上

它通常用于测试 检索信息的目的或方法 来自网站


也是一个很好的工具。

Selenium现在包装了htmlunit,因此您不再需要启动浏览器。新的WebDriver api也非常易于使用

您可以从


更新:截至2013年4月4日,Scrape.it Screen Scraper是开源的。

Selenium正是我所需要的。它非常通用,与多种语言(包括Python)接口,允许我存储内容并对其进行解析,然后根据返回的内容指导Selenium的操作。谢谢大家的回复!我同意这是好的。。。而且它不需要浏览器来运行,所以你可以将它粘贴在脚本中,并在服务器上自动运行。它唯一真正的javascript支持是跟踪位置重定向。这对刮擦没有帮助。