我需要用python抓取一个网站。我使用urlib模块获得了源代码html,但我还需要收集一些由javascript函数(包含在html源代码中)生成的html代码。这个函数在网站中的作用是,当你按下一个按钮时,它会输出一些html代码。我如何用python代码“按下”这个按钮?scrapy能帮到我吗?我捕获了带有firebug的POST请求,但是当我试图在url上传递它时,我得到了一个403错误。有什么建议吗?
发布于 2011-03-11 19:49:34
在Python语言中,我认为Selenium 1.0是最好的选择。它是一个库,允许你从你选择的语言控制一个真正的web浏览器。
您需要在运行脚本的机器上安装有问题的web浏览器,但它看起来是以编程方式询问使用大量JavaScript的网站的最可靠方法。
发布于 2010-01-28 00:34:52
我以前也这样做过(在.NET中),基本上您必须托管一个浏览器,让它单击按钮,然后询问浏览器的DOM (文档对象模型)以获得生成的超文本标记语言。
这绝对是web应用程序转向Ajax/Javascript方法来生成HTML客户端的缺点之一。
发布于 2011-12-03 11:24:22
我使用webkit,它是Chrome和Safari背后的浏览器渲染器。这里有Python bindings to webkit through Qt。这是一个完整的example to execute JavaScript and extract the final HTML。
https://stackoverflow.com/questions/2148493
复制相似问题