1
26
|
2
6
使用 HtmlUnit 也是一种可能性。
|
3
4
Selenium现在包装了HTMLUnit,因此您不再需要启动浏览器。新的WebDriverAPI也很容易使用。 The first example use htmlunit driver |
4
2
要编写一个能与任何任意站点一起工作的解决方案是非常困难的。每个导航菜单实现都是非常独特的。我已经和scraper做了很多工作,如果你知道你想要的目标站点,下面是我将如何接近它。 通常,如果分析nav菜单中使用的特定javascript,使用正则表达式拉出用于构建nav menu的整个变量集是相当容易的。我从来没有用过漂亮的汤,但从您的描述来看,它似乎只能在HTML元素上工作,不能在脚本标记内工作。 如果您仍然有问题,或者需要模拟一些表单帖子或Ajax,请获取Firefox并安装 LiveHttpHeaders 插件。这个插件允许您手动浏览站点,并捕获正在导航的URL以及在手动浏览期间传递的所有cookie。这就是您需要您的scraperbot发送请求以从目标Web服务器获得有效响应的内容。这还将捕获正在进行的任何Ajax调用,在许多情况下,必须在scraper中实现相同的Ajax调用,以获得所需的响应。 |
7
1
请记住,javascript的狂热正在干扰浏览者的页面内部dom模型,对原始HTML没有任何影响。 |
8
1
我一直在用硒来做这个,结果发现它效果很好。 Selenium在浏览器中运行,将与firefox、webkit和ie一起工作。 http://selenium.openqa.org/ |
9
1
@Insin Watir不仅如此。 |
Alok Mishra · 如何自动点击“内容”按钮 6 年前 |
Ike · Python Selenium错误-当webdriver 7 年前 |
ilyas · 使用网站查询获取数据[已关闭] 7 年前 |
tanee · 通过rvest获取web抓取中的电子邮件地址 7 年前 |