用JavaScript创建程序化Python浏览器

14 投票
8 回答
18757 浏览
提问于 2025-04-15 17:06

我想要抓取一个使用了JavaScript的网站。

有一个叫做 mechanize 的工具,它是一个可以用Python编写的程序化浏览器。不过,它(可以理解)不能处理JavaScript。那么,有没有其他可以处理JavaScript的Python浏览器呢?如果没有,是否有可以在Python中实现JavaScript的工具,我可以用来尝试自己创建一个?

8 个回答

5

我最喜欢的是 PyPhantomJS。它是用Python和PyQt4写的,完全不需要显示界面,你可以通过JavaScript完全控制它。

不过,如果你想实际看到页面的话,也可以使用PyQt4里的 QWebView

8

PyV8这个包很好地把谷歌的V8 Javascript引擎封装到了Python中。它特别好用,因为你不仅可以从Python调用Javascript代码,还可以从Javascript调用回Python代码。这让实现一些常见的浏览器提供的对象变得很简单,比如Javascript全局命名空间中的“window”、“document”等。如果你想做一个能运行Javascript的Python浏览器模拟器,这个功能就很有用,可能还需要和mechanize结合使用。

11

你可以考虑使用一个叫做 Selenium 的工具来自动抓取网页。这样的话,网页上的JavaScript代码会运行,页面也会像真实用户使用浏览器一样显示出来。

撰写回答