我需要一个comandline工具(或Javascript / PHP,但我认为命令行是一种方式)用于渲染并获取URL的渲染内容,但重要的是我需要渲染Javascript而不仅仅是CSS / Html /图像.
例如,命令如:“renderengine http://www.google.es outputfile.html”和web的内容(解析的html和javascript执行)保存在outputfile.html中.
我需要这个,因为我需要像一个完整的javascript网站的结果,如groovehark,网站加载所有使用javascript / ajax和爬虫没有找到任何东西,只有基本的HTML空模板(因为使用ajax / javscript后加载)
最佳答案
尝试www.phantomjs.org中的phantomjs,您可以轻松修改包含的rasterize.js以导出呈现的HTML.它基于webkit并对您的目标网站的javascript进行全面评估,允许您根据需要调整超时或首先执行您自己的代码.我个人用它来保存完全渲染的knockout.js模板的硬拷贝HTML文件版本.
它执行javascript所以我只是做了这样的事情并将控制台输出保存到文件中:
var markup = page.evaluate(function(){return document.documentElement.innerHTML;});
console.log(markup);
phantom.exit();