用于Python的无头浏览器(需要Javascript支持!)

时间:2011-05-17 00:45:58

标签: javascript python screen-scraping headless-browser

我需要一个非常容易使用的无头浏览器(我对Python和一般的编程仍然相当新),这将允许我导航到一个页面,登录到需要Javascript的表单,然后刮掉结果通过搜索符合特定条件的结果,单击复选框,然后单击以下载文件来搜索网页。所有这些都需要Javascript。

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

到目前为止风车看起来很像我想要的,但我不确定。

任何想法都赞赏!

6 个答案:

答案 0 :(得分:29)

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

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

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

答案 1 :(得分:11)

这个问题的答案是Spynner

答案 2 :(得分:9)

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

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

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

答案 3 :(得分:5)

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

您可以尝试Zombie.jsPhantomjs。那些不是Python,而是普通的Javascript,那些真的可以做到这一点。

答案 4 :(得分:3)

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

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

可能会把它搞砸。

答案 5 :(得分:1)

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