Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

增加对mhtml格式网页存档的支持 #4

Open
amsonia17 opened this issue Nov 14, 2024 · 2 comments
Open

增加对mhtml格式网页存档的支持 #4

amsonia17 opened this issue Nov 14, 2024 · 2 comments

Comments

@amsonia17
Copy link

mhtml是Chrome等浏览器的网页存档格式(虽然Safari不用这个,而是用.webarchive吧),这种MIME multipart文件可以保留网页的格式、图片等。

优点:

  1. 支持mhtml可以保留网页格式、图片(目前看起来没有存档网页中的图片)
  2. 大家可以将网页保存为mhtml,然后提交(这样更好应对需要登录的内容、有paywall的内容、公众号文章等)

需要解决的问题:

  1. 自动化保存、显示mhtml
  2. 文件尺寸会大一些,将来可能会遇到git repo过大的问题
@amsonia17
Copy link
Author

amsonia17 commented Nov 14, 2024

大概试了一下可行性,保存的话应该还是自动化Chrome来做比较靠谱。
这样将来也可以实现对推特等没有API的社交平台的支持(在作者授权的前提下)。
保存mhtml的sample code参见https://stackoverflow.com/a/72963946

显示的话,一个比较直接的方案是写个server直接serve mhtml中的media文件。
另外有一些工具可以把mhtml转换成单个html,也就是把media都base64嵌入到html里。
测试了一些这个,https://github.com/dingqiangliu/mhtml2html ,虽然work,但有一些bug(没仔细看,可能和embedded css处理有关)。
另外应该也可以用这个Chrome extension配合自动化Chrome实现 https://github.com/gildas-lormeau/SingleFile

@yunwei37
Copy link
Collaborator

好耶!非常感谢建议!

我觉得这是必要的,现在的做法会丢失不少网页的格式、图片等。我们现在只把网页清洗成 markdown 也是考虑到内容大小的问题(担心git repo过大,同时也不方便展示),更类似于 AI 清洗语料的做法。

目前来看,我觉得比较麻烦的事情是如果要做正经的网页存档,要考虑存储空间限制(我之前试了试 mhtml 或者别的一些工具,包括 webarchive,大概一个网页需要 10+ MB 的空间,现在包含核心图片平均只需要数百 kb),也要需要后端服务,目前我们全部是使用静态站点进行部署,使用 Github Repo 进行存储,价格会比较低(基本上不要钱),维护难度也比较小...

但我觉得这之后应该是必须要做的,我个人也倾向于用 mhtml 的方式保存。

我们目前在 https://transchinese.org/ 里面也在建设网站主页(还在搭),包含了上传检索功能,以后用包含各种媒体信息的 mhtml 提交应该也会方便不少

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants