我正在寻找用于Ruby或Python的引擎/解决方案/框架/ gem / egg / lib /任何用于登录网站,抓取HTML5内容(主要是 Canvas 上的图表)并将其转换为PDF的工具文件(或图片)。
我可以使用机械化编写爬网脚本,因此可以登录网站并对数据进行爬网,但是机械化无法理解复杂的JavaScript + HTML5。
所以基本上我正在寻找HTML5 / JavaScript解释器。
最佳答案
这个问题有点令人困惑...很抱歉,在再次阅读问题后重新阅读了我的答案。
您的问题分为两个部分:
1.如何爬行网站
可以使用Mechinize进行爬网,但是正如您所说的,它不能很好地执行Javascript。因此,一种替代方法是使用Capybara-webkit或Selenium(firefox / chrome)。
通常这是用于测试的,但是您可以使用Ruby代码来驱动它来浏览各个页面。
2.如何将输出转换为PDF
如果您需要将爬网的内容转换为PDF,我认为没有办法做到这一点。您可以使用Capybara-webkit或Selenium来截取屏幕截图(用于测试),但是将其转换为PDF可能只是通过某些命令行实用程序将其抽取的问题。
如果您正在寻找真正的HTML到PDF转换器(通常用于从Rails应用程序的 View 生成报告),请使用PDFKit
基本上,这是一个可以输出为PDF的WebKit浏览器。真的很简单。