得到一个浏览器呈现html + javascript

Zen*_*nth 5 browser linux

我需要一个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后加载)

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

nvu*_*ono 6

尝试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();
Run Code Online (Sandbox Code Playgroud)


Luc*_*mon 6

  • PhantomJS(由nvuono首先提出):可以将呈现的页面导出为非HTML(pdf,png ...).密切相关:SlimerJS,CasperJS
  • Xvfb是一个实现X11显示服务器协议的显示服务器,不显示任何屏幕输出.替代方案:XDummy
  • HTtrack:命令行工具
  • Selenium:非常完整的解决方案,具有多种语言的绑定
  • puppeteer:无头Chrome API,可在NodeJS中使用或作为命令行工具使用
  • Apache Notchwebmagic:开源Java Web爬虫
  • pholcus:用Go编写的"分布式和高并发"网络爬虫

并且有许多Python Web报废库: