批量替换md图片链接的图床迁移工具, 需要搭配PicGo使用
几年前一直用新浪微博图床上传一些笔记图片, 很是方便. 但慢慢的白嫖多了微博就开启了防盗链, 笔记里一大堆图片全裂了
现在虽然还能通过一些方法手动查看到原图片, 但终归是有风险, 说不定哪天这些图片就真的无了, 还是得把这些图片迁移到新图床 (我后面上传的图片就转战github图床了, 搭配Picgo体验也还可以)
迁移这种重复劳动的工作, 如果一张张图片扒下来重新上传是不可能的得累死, 网上也没找到合适的案例, 所以有了做这个图床迁移工具的想法
分为扫描和迁移两个步骤
-
扫描:
- 扫描指定文件夹下所有md文件
- 搜索文件文本内容, 根据正则匹配, 输出每个md所有匹配的图片链接, 保存为json文件
-
迁移:
- 反序列化输出结果
- 以文件为单位, 调用Picgo的http接口将图片批量上传
- 上传完成后替换图片链接
- 批量自动化操作
- 借助Picgo, 目标图床可以自由配置
- 无需抓图到本地, 直接通过原始url上传
- [必需]安装PicGo, 并配置好图床信息
- 配置
config.yml
, 指定你的md文件所在文件夹/图片匹配规则/Picgo上传地址等 - 执行
scan.py
, 会输出一个output.json
- 执行
migrate.py
, 开始上传, 耗费时长取决于你的图片数量和Picgo上传速度, 请耐心等待 - 上传完毕, 检查是否已被替换
-
数据无价, 使用前务必备份!!!
-
建议使用前先删除无用的md, 避免上传垃圾图片
-
扫描完毕请检查输出文件, 是否有无效资源, 比如本地文件/404资源
脚本没什么技术含量, 我也没学过python, 都是问chatgpt一点点敲出来的, 分享出来是为了给有需要的朋友节省时间, 也欢迎提建议, 后面等我python学好了会优化的
- 上传时loading, 显示进度
- 打包为exe, 一键执行
- 图形化界面