【发布时间】:2016-11-10 06:37:59
【问题描述】:
我在 C++ 中使用 curl 从网站下载 html 页面,然后保存它。 在我保存了 html 文件后,我必须使用另一个程序来读取它,并将其保存在一个字符串中。
此页面包含一些由 JSON-AJAX 发出的请求 (POST)。如果我用浏览器打开它,我就有正确的内容。如果我用文本编辑器打开它,我的内容很糟糕,因为没有发出 POST 请求。
那么我怎样才能保存页面在 JSON-AJAX 请求后获得的内容呢??
【问题讨论】:
-
这是headless browser的工作!
-
我在 google 上找过它,但我找不到在 c++ 中使用的简单无头浏览器。你能给我推荐一个吗?我只需要在浏览器处理后保存内容。
-
抱歉,我已经很久没有使用过无头浏览器了。在 SO 上四处寻找,我确实发现有些人在 curl 中使用 ajax 请求取得了成功。找出网页在做什么的一种方法是在您的常规浏览器中安装一个插件,让您可以查看所有 HTTP 流量(“实时标头”)。一旦您可以看到 ajax 正在做什么,使用 curl 复制该行为就更容易了。但是,无论您如何处理,自动抓取大部分内容来自 ajax 的页面都是一件麻烦事。祝你好运!