什么是一个很好的工具,以屏幕上的刮Javascript支持?[关闭]
-
02-07-2019 - |
题
是有一个很好的测试套房或工具的设置,可以自动化网站的导航--with Javascript支持--并收集HTML从页?
当然我可以刮直HTML与BeautifulSoup.但是,这不我没有很好的网站,需要Javascript。:)
其他提示
使用 HtmlUnit 也是可能的。
HtmlUnit是一个“GUI-Less浏览器” Java程序“。它模拟HTML 文档并提供API 允许你调用页面,填写 表格,点击链接等...就像 你做的是“正常”的浏览器。
它有相当不错的JavaScript支持 (这是不断改进)并且是 能够工作甚至相当复杂 AJAX库,模拟其中之一 Firefox或Internet Explorer依赖 在你想要使用的配置上。
它通常用于测试 目的或检索信息 来自网站。
Selenium现在包含了htmlunit,所以你不再需要启动浏览器了。新的WebDriver api也非常易于使用。 第一个示例使用htmlunit驱动程序
编写适用于任何网站的解决方案将非常困难。每个导航菜单实现都非常独特。我已经和刮刀一起工作了很多,如果你知道你想要定位的网站,我就是这样做的。
通常,如果您分析导航菜单中使用的特定javascript,使用正则表达式来提取用于构建navmenu的整个变量集是相当容易的。我从来没有使用过Beautiful Soup,但是根据你的描述,它听起来似乎只适用于HTML元素而不能在脚本标签内部工作。
如果您仍然遇到问题,或者需要模拟某些表单POST或ajax,请安装Firefox并安装 LiveHttpHeaders 插件。此插件允许您手动浏览网站并捕获正在导航的网址以及手动浏览期间传递的任何Cookie。这就是您需要您的scraperbot发送请求以从目标Web服务器获得有效响应的内容。这也将捕获正在进行的任何ajax调用,并且在许多情况下,必须在您的scraper中实现相同的ajax调用以获得所需的响应。
Mozenda 也是一款非常棒的工具。
您可以尝试使用 Scrape.it 中的开源屏幕抓取工具
更新:截至2013年4月4日,Scrape.it Screen Scraper是 github上的开源软件。
请记住,javascript的幻想正在弄乱浏览器的内部DOM模型,并且对原始HTML没有任何作用。
我一直在使用Selenium,它发现它很有效。 Selenium在浏览器中运行,可以与Firefox,Webkit和IE一起使用。 http://selenium.openqa.org/
@insin Watir不仅仅是IE。