完成加载后卷曲抓取页面

完成加载后卷曲抓取页面

我有一个需要一些时间才能完全加载的网址。但是当我使用curl将链接下载为html时,它会在完全加载页面之前实时下载html,我的意思是完全执行JavaScript。请帮助我如何停止卷曲直到页面完全加载或在 1 分钟后开始下载页面。

答案1

curlcurl不会因为不理解 JavaScript 而“等待”解释你的 Javascript ; JavaScript 总是在客户端完成,通常是具有 JavaScript 引擎/知道如何运行 JavaScript 的浏览器。

因此,curl只会将其视为文本块,并保持原样。

请注意,这种行为并不是curlLinux 命令行中所独有的,wget并且nclynx和其他)也不会理解 JavaScript。

links似乎有一个有缺陷的 JavaScript 支持(如果已编译),但它是一个用于交互式使用的文本浏览器。

如果您不介意编写脚本,请看一下幻影JS

phantomJS 是一个可使用 JavaScript API 编写脚本的无头 WebKit。它对各种 Web 标准提供快速且原生的支持:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。

相关内容