适用于Python的Headless浏览器(需要Javascript支持!)

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

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

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

任何想法表示赞赏!

6个解决方案
29 votes

我通过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/]

hoju answered 2020-01-14T06:20:54Z
11 votes

这个问题的答案是斯宾纳

Cecil Rodriguez answered 2020-01-14T06:21:13Z
9 votes

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

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

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

RyanTheDev answered 2020-01-14T06:21:42Z
5 votes

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

您可以尝试Zombie.js或Phantomjs。 这些不是Python,而是普通的Javascript,并且确实可以完成任务。

Epeli answered 2020-01-14T06:22:07Z
3 votes

尝试使用phantomjs,它具有强大的javascript支持。 然后,您可以将其作为python脚本的子进程运行

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

可以解决它。

shelman answered 2020-01-14T06:22:36Z
1 votes

您可以将HTQL与IRobotSoft网络抓取程序结合使用。 在此处查看示例:[http://htql.net/]

seagulf answered 2020-01-14T06:22:56Z
translate from https://stackoverflow.com:/questions/6025082/headless-browser-for-python-javascript-support-required