我正在寻找用于 Ruby 或 Python 的引擎/解决方案/框架/gem/egg/lib/任何东西来登录网站,抓取 HTML5 内容(主要是 Canvas 上的图表),并能够将其转换转换为 PDF 文件(或图像)。
我可以在 mechanize 中编写爬虫脚本,这样我就可以登录网站并爬取数据,但是 mechanize 不理解复杂的 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 浏览器。运行起来非常简单。
关于javascript - 如何抓取 HTML5 网站并将其 HTML 内容转换为 PDF(使用 Python 或 Ruby 库)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12101926/