我设法用phantomjs做到了这一点。
正如@Barmar 提到的,不可能使用 wget 或 curl 获取动态生成的 HTML 内容,因为它们不支持 js 或不支持 js 引擎。
另一方面,phantomjs 支持 js 并且可以像浏览器一样运行,我们可以发布请求、存储 cookie 以及您可以使用支持 java 的浏览器执行的许多其他操作。
这是完成这项工作的示例 js 脚本 [托管页面、获取动态 HTML 内容和存储 cookie]
var page = require('webpage').create(),
system = require('system');
if (system.args.length < 2 || system.args.length > 2) {
console.log('Usage: dl.js URL');
phantom.exit(1);
}
else{
var url=system.args[1];
page.open(url,
function (status) {
if (status !== 'success') {
console.log('Unable to access network');
} else {
window.setTimeout(function(){
steps = page.content;
console.log(steps);
phantom.exit();
},10000);
}
});
}
谢谢你。