我做的研究越多,前景就越黯淡。
我正在尝试使用 Python 进行平面保存或静态保存网页。这意味着将所有样式合并到内联属性,并将所有链接更改为绝对 URL。
我尝试过几乎所有免费的转换网站、api,甚至 github 上的库。没有一个是那么令人印象深刻。我能找到的扁平化样式的最佳 python 实现是https://github.com/davecranwell/inline-styler https://github.com/davecranwell/inline-styler。我对 Flask 做了一些修改,但生成的文件不是很好。它看起来是这样的:
显然,它应该看起来更好。它应该是这样的:
https://dzwonsemrish7.cloudfront.net/items/3U302I3Y1H0J1h1Z0t1V/Screen%20Shot%202012-12-19%20at%205.51.44%20PM.png?v=2d0e3d26 https://dzwonsemrish7.cloudfront.net/items/3U302I3Y1H0J1h1Z0t1V/Screen%20Shot%202012-12-19%20at%205.51.44%20PM.png?v=2d0e3d26
处理格式错误的 html、无法识别的 CSS 属性、Unicode 错误等似乎是一场永无休止的斗争。那么有人有更好的方法来做到这一点吗?我知道我可以在本地浏览器中转到文件 -> 保存,但是当我尝试集体执行此操作并提取一个并不真正可行的特定 xpath 时。
看起来 Evernote 的网页剪辑器使用了 iFrame,但这似乎比我想象的要复杂。但至少这些剪报在 Evernote 上看起来还不错。
离开一段时间后,我成功安装了一个 ruby 库,它比我使用过的任何其他库都更好地扁平化 CSS。这是这里非常慢的网络界面背后的库http://premailer.dialect.ca/ http://premailer.dialect.ca/
谢天谢地,他们在 Github 上发布了源代码,这无疑是最好的。https://github.com/alexdunae/premailer https://github.com/alexdunae/premailer
它可以扁平化样式、创建绝对 URL、使用 URL 或字符串,甚至可以创建纯文本电子邮件模板。对这个图书馆印象非常深刻。
2013 年 11 月更新
我最终编写了自己的纯客户端书签。它仅与 Webkit 和 FireFox 兼容。它递归遍历每个节点并添加内联样式,然后将扁平化的 HTML 发送到 Clippy.in API 以保存到用户的仪表板。
客户端书签 https://clippy.in/static/js/script.js
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)