我有这个网页,它在显示给用户之前使用客户端 JavaScript 来格式化页面上的数据。
是否有可能以某种方式用于wget
下载页面并使用某种客户端 JavaScript 引擎来格式化数据,就像它在浏览器中显示的那样?
我有这个网页,它在显示给用户之前使用客户端 JavaScript 来格式化页面上的数据。
是否有可能以某种方式用于wget
下载页面并使用某种客户端 JavaScript 引擎来格式化数据,就像它在浏览器中显示的那样?
你可能会用PhantomJS 之类的东西来实现这一点
您可以编写一个 phantomjs 脚本,它会像浏览器一样加载页面,然后截取屏幕截图或使用 JS 来检查页面并提取数据。
这是一个简单的小 phantomjs 脚本,它在网页上触发 javascript 并允许您在本地将其拉下来:
file: get.js
var page = require('webpage').create(),
system = require('system'), address;
address = system.args[1];
page.scrollPosition= { top: 4000, left: 0}
page.open(address, function(status) {
if (status !== 'success') {
console.log('** Error loading url.');
} else {
console.log(page.content);
}
phantom.exit();
});
使用方法如下:
$> phantomjs /path/to/get.js "http://www.google.com" > "google.html"
改变/path/to
,url
和filename
你想要的。
不是 wget,因为我怀疑它包含任何形式的 JavaScript 引擎。但是,您可以使用 WebKit 来处理页面,从而处理输出。
使用这样的东西作为如何获取内容的基础:http : //situated.wordpress.com/2008/06/04/take-screenshots-of-a-website-from-the-command-line/