0

我希望能够获取页面的 HTML,如果我在浏览器中以交互方式执行此操作,将涉及多个操作和页面加载: 1. 转到主页 2. 在登录表单中输入文本并提交表单( post) 3. 帖子会经过各种重定向和框架集使用。

Cookie 会在整个过程中进行调整。

在浏览器中,提交后,我只是得到了页面。

但是要使用 curl(PHP 或其他)或 wget 或其他低级技术来做到这一点,cookie、重定向和框架集的管理都变得相当繁琐,并且非常紧密地将我的脚本绑定到网站(使其非常容易受到即使很小我正在抓取的网站的变化。)

谁能建议一种方法来做到这一点?

我已经看过CrowbarPhantomJSLynx(带有 cmd_log/cmd_script 选项),但是将所有内容链接在一起以准确模仿我在 Firefox 或 Chrome 中所做的事情是困难的。

(顺便说一句,目标网站认为这个脚本Firefox 或 Chrome 或“真正的”浏览器甚至可能是有用/必要的)

4

3 回答 3

2

一种方法是使用 Selenium RC。虽然它通常用于测试,但它的核心只是一个浏览器远程控制服务。

使用此网站作为起点:http ://seleniumhq.org/projects/remote-control/

于 2011-11-09T14:05:09.817 回答
0

您可以在 irobotsoft 使用 irobot 录制机器人并重播。

如果喜欢低级控制,可以使用 HTQL python 接口,见:http ://htql.net/htql-python-manual.pdf 。它允许您从 python 访问基于 IE 的浏览器。

于 2011-11-11T20:59:13.267 回答
0

使用像 Firebug 这样的工具来检查哪些标头提交到网站以进行登录,然后在您的代码中准确地复制它。

或者只需使用浏览器登录,然后在代码中重复使用 cookie。

于 2011-11-14T16:25:00.263 回答