全自动替换图床链接
手动处理图片链接太痛苦了,每次都要下载、上传、替换链接,步骤多还容易出错。写个脚本让它全自动,一劳永逸。 问题 博客图片管理一直是个麻烦事: 从微信公众号转载文章,图片都是外链 外链不稳定,说不定哪天就挂了 想迁移图床,手动改链接太繁琐 一不小心就忘了某个步骤,图片上传了链接没更新 原理 其实就三步: 下载:扫描 Markdown 文件,找到所有外部图片,下载到本地 上传:把本地图片通过 PicGo 上传到图床 替换:更新 Markdown 中的图片链接 核心是用正则提取图片引用 ,然后做 URL 映射替换。 加上缓存机制(基于文件 hash),避免重复上传。再加个备份功能,出问题能回滚。 实现 写了三个脚本: 1. auto_migrate.py - 一键式 最常用,自动完成所有步骤: 1 2 python3 scripts/auto_migrate.py --dry-run # 预览 python3 scripts/auto_migrate.py # 正式执行 运行前会提醒检查 PicGo 配置,避免上传到错误图床。 2. fix_current_links.py - 修复 如果图片已上传但链接没更新,用这个: 1 python3 scripts/fix_current_links.py --yes 从缓存文件 .image_cache.json 读取映射关系,批量更新链接。 3. blog_image_manager.py - 手动模式 需要精细控制时用,可以单独执行下载或上传。 使用 最简单就两步: 1 2 3 4 5 # 1. 预览(首次推荐) python3 scripts/auto_migrate.py --dry-run # 2. 正式执行 python3 scripts/auto_migrate.py 出问题可以回滚: ...