Skip to content

批量替换md图片链接的图床迁移工具

Notifications You must be signed in to change notification settings

wincent98/Picaway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Picaway

批量替换md图片链接的图床迁移工具, 需要搭配PicGo使用

介绍

背景

几年前一直用新浪微博图床上传一些笔记图片, 很是方便. 但慢慢的白嫖多了微博就开启了防盗链, 笔记里一大堆图片全裂了

现在虽然还能通过一些方法手动查看到原图片, 但终归是有风险, 说不定哪天这些图片就真的无了, 还是得把这些图片迁移到新图床 (我后面上传的图片就转战github图床了, 搭配Picgo体验也还可以)

迁移这种重复劳动的工作, 如果一张张图片扒下来重新上传是不可能的得累死, 网上也没找到合适的案例, 所以有了做这个图床迁移工具的想法

实现思路

分为扫描和迁移两个步骤

  1. 扫描:

    1. 扫描指定文件夹下所有md文件
    2. 搜索文件文本内容, 根据正则匹配, 输出每个md所有匹配的图片链接, 保存为json文件
  2. 迁移:

    1. 反序列化输出结果
    2. 以文件为单位, 调用Picgo的http接口将图片批量上传
    3. 上传完成后替换图片链接

特点

  • 批量自动化操作
  • 借助Picgo, 目标图床可以自由配置
  • 无需抓图到本地, 直接通过原始url上传

使用

  1. [必需]安装PicGo, 并配置好图床信息
  2. 配置config.yml, 指定你的md文件所在文件夹/图片匹配规则/Picgo上传地址等
  3. 执行scan.py, 会输出一个output.json
  4. 执行migrate.py, 开始上传, 耗费时长取决于你的图片数量和Picgo上传速度, 请耐心等待
  5. 上传完毕, 检查是否已被替换

注意事项

  • 数据无价, 使用前务必备份!!!

  • 建议使用前先删除无用的md, 避免上传垃圾图片

  • 扫描完毕请检查输出文件, 是否有无效资源, 比如本地文件/404资源

其他

脚本没什么技术含量, 我也没学过python, 都是问chatgpt一点点敲出来的, 分享出来是为了给有需要的朋友节省时间, 也欢迎提建议, 后面等我python学好了会优化的

todo

  • 上传时loading, 显示进度
  • 打包为exe, 一键执行
  • 图形化界面

参考

About

批量替换md图片链接的图床迁移工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages