一尘不染

获取浏览器呈现的html + javascript

linux

我需要一个命令行工具(或Javascript / PHP,但我认为命令行是一种方式)来进行渲染并获取URL的渲染内容,但是重要的是我不仅要渲染CSS /
Html / images,还要渲染Javascript。

例如,诸如“ renderengine http://www.google.es
outputfile.html”之类的命令和网络内容(已解析的html和javascript执行)都保存在outputfile.html中。

我需要这个,因为我需要获取像groshshark这样的完整javascript网站的结果,该网站使用javascript /
ajax加载所有内容,而抓取工具则什么也找不到,只有基本的HTML空模板(因为在使用ajax / javscript后加载)

是否存在支持Javascript(例如V8)的Linux浏览器引擎,该引擎输出结果以保存在文件中?


阅读 277

收藏
2020-06-02

共1个答案

一尘不染

尝试从www.phantomjs.org访问phantomjs,您可以轻松地修改包含的rasterize.js来导出呈现的HTML。它基于webkit,并且可以对目标站点的javascript进行全面评估,从而允许您调整超时或根据需要首先执行自己的代码。我个人使用它来保存完全渲染的kickout.js模板的硬拷贝HTML文件版本。

它执行javascript,所以我只是做了类似的事情并将控制台输出保存到文件中:

var markup = page.evaluate(function(){return document.documentElement.innerHTML;});
console.log(markup);
phantom.exit();
2020-06-02