3

我正在寻找一个引擎/解决方案/框架/gem/egg/lib/whatever 用于 Ruby 或 Python 登录网站,抓取 HTML5 内容(主要是画布上的图表),并能够将其转换为 PDF文件(或图像)。

我可以用 mechanize 编写爬虫脚本,这样我就可以登录网站并爬取数据,但是 mechanize 不理解复杂的 JavaScript + HTML5。

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

4

1 回答 1

2

这个问题有点令人困惑......抱歉,在再次阅读问题后重新阅读我的答案。

你的问题有两个部分:

1.如何爬取网站

可以使用 Mechinize 进行爬网,但正如您所说,它不能很好地执行 Javascript。所以一种选择是使用 Capybara-webkit 或 Selenium (firefox / chrome)。

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

2.如何将输出转换为PDF

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

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

基本上它是一个可以输出为 PDF 的 WebKit 浏览器。运行起来真的很简单。

于 2012-08-24T04:17:21.860 回答