「博客镜像器」把 Typecho 博客抓成可部署的静态站
想到一个问题:如果有一天我不再更新博客,甚至不再使用原本的服务器,这些博客内容会怎样?
我想让它们继续被看见,也想让它们独立于服务器依赖而存在。
于是就有了这个小项目 —— 一个用 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,你可以自由地使用、分发、修改。