我有一个需要一些时间才能完全加载的网址。但是当我使用curl将链接下载为html时,它会在完全加载页面之前实时下载html,我的意思是完全执行JavaScript。请帮助我如何停止卷曲直到页面完全加载或在 1 分钟后开始下载页面。
答案1
curl
curl
不会因为不理解 JavaScript 而“等待”解释你的 Javascript ; JavaScript 总是在客户端完成,通常是具有 JavaScript 引擎/知道如何运行 JavaScript 的浏览器。
因此,curl
只会将其视为文本块,并保持原样。
请注意,这种行为并不是curl
Linux 命令行中所独有的,wget
并且nc
(lynx
和其他)也不会理解 JavaScript。
links
似乎有一个有缺陷的 JavaScript 支持(如果已编译),但它是一个用于交互式使用的文本浏览器。
如果您不介意编写脚本,请看一下幻影JS
phantomJS 是一个可使用 JavaScript API 编写脚本的无头 WebKit。它对各种 Web 标准提供快速且原生的支持:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。