想到一个问题:如果有一天我不再更新博客,甚至不再使用原本的服务器,这些博客内容会怎样?
我想让它们继续被看见,也想让它们独立于服务器依赖而存在。

于是就有了这个小项目 —— 一个用 Python + wget 做的极简博客镜像工具,可以把你的 Typecho(或其他兼容的博客)抓成一套完整的、可直接部署的静态网站。

https://github.com/gone1724/if_i_die

✨ 它能做什么?

  • 自动抓取博客所有公开页面(文章 / 分类 / 归档 / 主题资源等)。
  • 跳过后台、登录、评论提交等敏感或不必要的路径。
  • 抓取后会重写所有站内链接为本地相对路径,确保离线可用。
  • 针对img src的图片类资源也会保存并重写相对链接,确保离线可用。
  • 自动下载外链图片,减少外部依赖。
  • 输出目录 ./site/ 可直接推送到 GitHub Pages / Cloudflare Pages。

换句话说:你的博客在任何地方都能继续「活着」。

🛠️ 怎么用?

环境需求:Python 3.9+,推荐用 uv 管理项目。

pip install uv
uv run python mirror.py

常用命令:

uv run python mirror.py          # 默认清空输出后抓取
uv run python mirror.py --no-clean   # 不清空目录,增量抓取
uv run python mirror.py --spider     # 试跑模式,仅检查链接
uv run python mirror.py --url https://example.com/ --output-dir my_site

📜 开源协议

本项目基于 GNU GPL v3,你可以自由地使用、分发、修改。

标签: none

添加新评论