屏幕抓取 Python 中基于 Javascript 的网页

Posted

技术标签:

【中文标题】屏幕抓取 Python 中基于 Javascript 的网页【英文标题】:Screen Scraping a Javascript based webpage in Python 【发布时间】:2012-01-01 06:59:46 【问题描述】:

我正在使用 Python 开发屏幕抓取工具。但是,当我查看网页的源代码时,我注意到大部分数据都来自 javascript

任何想法,如何抓取基于 javascript 的网页? Python中有什么工具吗?

谢谢

【问题讨论】:

为什么不直接使用Javascript? 重复***.com/questions/2148493/… 你为什么要直接使用Javascript?比如你如何从python调用JS函数JS_Function(var1,var2,var3) 【参考方案1】:

使用selenium 可以抓取基于javascript 的网页。特别是,试试Selenium WebDriver。

【讨论】:

我试过 Selenium。我不想模仿用户操作。正如我从运行示例程序中看到的那样,它会打开浏览器窗口并模仿操作。我不要那个。我想将网页中的数据提取到我的代码中。 如果不需要,您不必模仿用户操作。只需下载页面并解析它。使用 selenium 的重点是它会为您处理 javascript。【参考方案2】:

您可以使用PyQt4 库的QtWebKit 模块

【讨论】:

【参考方案3】:

我使用 webkit,它是 Chrome 和 Safari 背后的浏览器渲染器。有Python bindings to webkit through Qt。

这是一个完整的Python example to execute JavaScript and extract the final html

【讨论】:

以上是关于屏幕抓取 Python 中基于 Javascript 的网页的主要内容,如果未能解决你的问题,请参考以下文章

python 如何抓取动态页面内容?

python学习(十五) 屏幕抓取

使用 Python 进行屏幕抓取

python之屏幕抓取

javaCV开发详解之9:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的屏幕截屏录屏功能)

javaCV开发详解之9补充篇2:基于x11grab的linux屏幕画面抓取/采集(linux录屏功能)