我需要一个命令行工具(或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浏览器引擎,该引擎输出结果以保存在文件中?
尝试从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();