Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何抓取HTML5网站并将其HTML内容转换为PDF(使用Python或Ruby库)?_Javascript_Python_Ruby_Html_Frameworks - Fatal编程技术网

Javascript 如何抓取HTML5网站并将其HTML内容转换为PDF(使用Python或Ruby库)?

Javascript 如何抓取HTML5网站并将其HTML内容转换为PDF(使用Python或Ruby库)?,javascript,python,ruby,html,frameworks,Javascript,Python,Ruby,Html,Frameworks,我正在寻找一个引擎/solution/framework/gem/egg/lib/无论是Ruby还是Python都可以登录到网站,抓取HTML5内容(主要是画布上的图表),并能够将其转换为PDF文件(或图像) 我能够在mechanize中编写爬行脚本,这样我就可以登录到网站并爬行数据,但mechanize不理解复杂的JavaScript+HTML5 所以基本上我在寻找一个HTML5/JavaScript解释器。这个问题有点让人困惑。。。对不起,请在再次阅读问题后重新阅读我的答案 你的问题分为两部

我正在寻找一个引擎/solution/framework/gem/egg/lib/无论是Ruby还是Python都可以登录到网站,抓取HTML5内容(主要是画布上的图表),并能够将其转换为PDF文件(或图像)

我能够在mechanize中编写爬行脚本,这样我就可以登录到网站并爬行数据,但mechanize不理解复杂的JavaScript+HTML5


所以基本上我在寻找一个HTML5/JavaScript解释器。

这个问题有点让人困惑。。。对不起,请在再次阅读问题后重新阅读我的答案

你的问题分为两部分:

1。如何爬网网站

爬行可以使用Mechinize完成,但正如您所说,它不能很好地使用Javascript。因此,一种选择是使用水豚webkit或Selenium(firefox/chrome)

这通常用于测试,但是您可以使用Ruby代码来驱动它浏览各个页面

2。如何将输出转换为PDF

如果您需要将爬网内容转换为PDF,我认为没有办法做到这一点。您可以使用Capybara webkit或Selenium拍摄屏幕截图(对测试有用),但将其转换为PDF可能只是通过一些命令行实用程序来实现的

如果您正在寻找一个真正的HTML到PDF转换器(通常用于从rails应用程序中的视图生成报告),那么使用


基本上,它是一个WebKit浏览器,可以输出为PDF格式。运行起来非常简单。

您可能可以使用无头浏览器完成此操作。这正是我所想的,但我希望它可以通过Python或Ruby编写脚本-有什么想法吗?请看:我想您需要寻找一个与Python或Ruby交互的浏览器?看起来Capybara是一个Ruby项目,Zombie.js和PhantomJS都以某种方式支持该项目。Yo可能能够通过
kit=PDFKit.new.js实现这一点http://google.com“)
。实际上,使用python的zombie.js实现了这一点-谢谢你的回答,我无法做到这一点,因为它是由我的公司授权的:(对不起。