我需要使用脚本(PHP,Python,Bash)下载网页而不使用GUI浏览器。问题是网页检查前面是它处理JS启用浏览器。所以我从给定的URL使用天真的下载是初始页面(在这种情况下,我想到Coursera课程页面:http://pastebin.com/4tJJRMTu)。
如何使用脚本下载“真实”内容?到目前为止,我可以考虑这样的解决方案(一些疯狂的解决方案):
ABC1.html
最终获取页面ABC1body.html
exec Firefox --dump http://foo.bar/x.html
- 我正在进行此操作,我甚至不知道是否有带脚本功能的浏览器) 还有其他想法吗?我会很感激经过测试的。
删除脚本而不是编写浏览器插件也是其中一个选项,但是因为我现在已经花了一些时间来编写脚本,所以修复它们似乎更快,而是从头开始编写它们。
答案 0 :(得分:2)
看看PhantomJS。它本质上是一个无头浏览器,模仿所有功能。
使用node和phantomjs模块,您可以下载页面并完全控制它,包括完全访问JavaScript。
var page = require('webpage').create();
var url = 'http://www.phantomjs.org/';
page.open(url, function (status) {
//Page is loaded!
phantom.exit();
});