wget + JavaScript?

IT技术 javascript html browser wget
2021-03-03 18:22:09

我有这个网页,它在显示给用户之前使用客户端 JavaScript 来格式化页面上的数据。

是否有可能以某种方式用于wget下载页面并使用某种客户端 JavaScript 引擎来格式化数据,就像它在浏览器中显示的那样?

3个回答

你可能会用PhantomJS 之类的东西来实现这一点

您可以编写一个 phantomjs 脚本,它会像浏览器一样加载页面,然后截取屏幕截图或使用 JS 来检查页面并提取数据。

安装 PhantomJS 时要注意依赖项。您也可以运行无头 Firefox。
2021-04-29 18:22:09
有关要使用的 phantomjs 脚本,请参阅command-line-browser-with-js-support
2021-05-03 18:22:09

这是一个简单的小 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,urlfilename你想要的。

你会添加代码来处理document.cookielocation.href再获取新的href
2021-04-26 18:22:09

不是 wget,因为我怀疑它包含任何形式的 JavaScript 引擎。但是,您可以使用 WebKit 来处理页面,从而处理输出。

使用这样的东西作为如何获取内容的基础:http : //situated.wordpress.com/2008/06/04/take-screenshots-of-a-website-from-the-command-line/