57

我需要一个相当容易使用的无头浏览器(我对 Python 和一般编程还很陌生),它允许我导航到一个页面,登录到一个需要 Javascript 的表单,然后通过以下方式抓取生成的网页搜索符合特定条件的结果,单击复选框,然后单击下载文件。所有这些都需要 Javascript。

我听说无头浏览器是我想要的 - 要求/偏好是我能够从 Python 运行它,并且最好是生成的脚本可以由 py2exe 编译(我正在为其他用户编写这个程序)。

到目前为止,Windmill 看起来可能是我想要的,但我不确定。

任何想法表示赞赏!

4

6 回答 6

30

我通过 pyqt / pyside 在 Python 中使用 webkit 作为无头浏览器:
http ://www.riverbankcomputing.co.uk/software/pyqt/download
http://developer.qt.nokia.com/wiki/Category:LanguageBindings:: PySide::下载

我特别喜欢 webkit,因为它设置简单。对于 Ubuntu,您只需使用:sudo apt-get install python-qt4

这是一个示例脚本:
http ://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/

于 2011-05-17T04:11:15.010 回答
11

这个问题的答案是Spynner

于 2011-11-09T18:21:25.483 回答
9

我正在为 Zombie.js 编写 Python 驱动程序,“一个用于在模拟环境中测试客户端 JavaScript 代码的轻量级框架”。

我目前在解决 Node.js 中的错误时处于停滞状态(在我编写更多测试和更多代码之前),但请随时关注我的项目进展:

https://github.com/ryanpetrello/python-zombie

于 2011-06-09T04:00:35.353 回答
5

目前还没有太多支持 Javascript 的无头浏览器。

你可以试试Zombie.jsPhantomjs。这些不是 Python,而是普通的 Javascript,它们确实可以完成这项工作。

于 2011-05-28T00:57:28.783 回答
3

尝试使用 phantomjs,它有很好的 javascript 支持。然后你可以将它作为 python 脚本的子进程运行

http://docs.python.org/library/subprocess.html

这可以控制它。

于 2011-06-11T02:51:55.057 回答
1

您可以将 HTQL 与 IRobotSoft webscraper 结合使用。在此处查看示例:http ://htql.net/

于 2011-05-28T00:51:20.580 回答