如何抓取 HTTPS javascript 网页

Posted

技术标签:

【中文标题】如何抓取 HTTPS javascript 网页【英文标题】:How to scrape HTTPS javascript web pages 【发布时间】:2011-07-30 12:52:33 【问题描述】:

我正在尝试通过在线目录监控日常价格。 该站点使用 HTTPS 并使用 javascript 生成目录页面。如何与网站交互并使其生成我需要的页面?

我已经在其他可以轻松访问 html 的网站上完成了此操作,一旦生成了 HTML 解析就没有问题。

我只知道 Python 和 Java。

提前致谢。

【问题讨论】:

【参考方案1】:

看看HTMLUnit - 一个可以完全由您的代码控制的无头 Java 浏览器。一个简单的例子可以在这里看到:http://htmlunit.sourceforge.net/gettingStarted.html

(强制性警告:通过屏幕抓取网站,您可能会违反其服务条款,并可能让自己面临诉讼;在开始之前检查您是否被允许这样做)

【讨论】:

【参考方案2】:

如果他们创建了一个与他们的 JavaScript 交互的 Web API,您可能可以直接抓取它,而不是尝试走 HTML 路线。

如果他们对其进行了混淆,或者该选项由于其他原因不可用,那么您基本上需要一个 Web 浏览器来评估 JavaScript,然后废弃浏览器的 DOM。也许写一个浏览器插件?

【讨论】:

【参考方案3】:

我通过它的 python 绑定使用 webkit 来抓取 javascript 内容。 See here for example.

【讨论】:

以上是关于如何抓取 HTTPS javascript 网页的主要内容,如果未能解决你的问题,请参考以下文章

网页抓取请求 python

Java抓取网页数据(原网页+Javascript返回数据)

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

抓取 javascript 生成的网页数据

网页抓取仅提供页面上的前 4 个元素

如何抓取网页中的动态数据