我想分析网页的一些数据,但问题是:该网站有更多页面,这些页面被 __doPostBack 函数调用。
我如何“模拟”进一步进入页面并分析该网站,等等..
此时,我使用 Java 中的 JSoup 分析数据 - 但如果有必要,我愿意使用其他语言。
基于回发的系统(.NET、Prado/PHP 等)的工作方式是在服务器端保留浏览器内容的完整快照。这称为页面状态。任何使用不支持 JavaScript 的客户端进行操作的尝试几乎肯定会失败。
您需要的是一个支持 JavaScript 的浏览器。我发现的最简单的解决方案是使用 Firefox 编写的框架 - XUL - 来创建这样的桌面应用程序。您所做的基本上是创建一个其中包含单个浏览器元素的桌面应用程序,然后您可以从应用程序本身编写脚本,而不受安全容器的限制。或者,您也可以使用 Greasemonkey 插件 来执行您的命令。后者更容易上手,但它相当有限,因为它是在每页的基础上运行的。
使用这两种解决方案,您都可以访问页面的 DOM 来收集数据,还可以触发事件(例如单击按钮)。不幸的是,你必须学习 JavaScript 才能实现这一点。
除了 Selenium,您还可以使用 http://watin.org/