Speechless
Speechless 是一个帮助新浪微博用户,把微博内容导出成 PDF 进行本地备份的 Chrome Extension。
查看官网
使用
简介
将微博的文字、图片、表情轻松备份成高质量PDF文件,方便阅读、浏览和储存。
可以根据时间范围进行筛选和导出,确保只备份你关心的特定时期的微博内容。
不仅支持备份你自己的微博,还支持其他任何公共公开的微博。
无需额外登录和输入密码,直接通过插件形式使用,确保你的账户安全和隐私保护。
可选择仅备份原创微博或全部微博(含转发内容),灵活满足不同需求。
支持选择图片备份的大小和清晰度,为你提供最佳的阅读和存储体验。
原理
Chrome 并没有为 Extension 提供直接导出 PDF 的 Api,但是可以借助 Chrome 的 打印预览/另存为 PDF 功能,将网页的内容直接另存为 PDF。
所以 Speechless 做了以下几件事情:
- 在页面上找到需要备份用户的 UID,这通常可以通过 URL 直接获得
- 通过 Ajax 不断去拉取该用户可见的微博内容,当内容中有长文时,额外通过接口获取长文信息
- 将拉取到的微博内容,添加到页面的节点上,并且设置基本的样式和布局
- 直到所有内容都拉取完毕之后,通过点击事件触发
window.print()
,唤起 Chrome 自带的打印预览界面 - 在打印预览界面 目标打印机 选择 另存为 PDF,导出即可
依赖
- Vue3
- TailwindCSS
其他
- 愿人人都有自由表达的权利。
更新
version 2.0
- 支持选择时间范围
- 支持选择图片大小
- 支持仅备份原创微博
- 支持最小化窗口
- 支持多种url形式的微博主页
version 1.2
- 增加了默认的拉取时间间隔,以避免拉取过于频繁被微博限制的问题。但目前的方法仍不是最优解法,尚有较大优化空间
- 增加了拉取完成后,手动选择图片裁切样式的操作
- 增加了拉取完成后,手动选择是否展示 转、赞、评 信息的操作 @rickypeng99
- 增加了拉取过程中暂停的操作
version 1.1
- 使用 Weibo API 获取用户 UID 和用户名 @jingfelix
- 修复了 icon name 错误的大小写问题 @jjhhms