1、问题&困扰
下边这个问题困扰我有段时间了:
因为文章是在掘金,知乎这类技术网站发表的,在发表时文章中的图片都是上传到了掘金 or 知乎的图床上了,不管是用的哪家哪个大厂的图床,我总是担心哪一天网站崩掉或者其他什么不可控的事情发生,那我博客中的所有的图床文件(大部分都是图片)那岂不是都访问不到了? 像这样:
这就尴尬了,我一般写文章很重视图解,没有图片的文章那没法串联起来,所以我总是想的把文章复制到本机上,但是复制到本地上的文章中的图片不用说也仍然是访问的三方的图床呀,如下:
2、我的目标
- 将这类三方图床文件下载到本地
- 将markdown中的图传连接替换为指向本机的图片路径,如下:
我不可能一个个手动去下载替换,那样士可忍孰不可忍。所以我决定使用python批量替换,基本逻辑是:
- 找到替换前的markdown文章集合
- 依次读取文章内容,并使用正则找到图床文件,并下载到本地(会在当前目录创建个专门放图片的文件夹)
- 替换markdown中的图床链接为本地的图片路径。
- 另外我还生成了word文件,以作备份。
3、使用python实现
读取指定文件夹中的文章集合,并解析,正则匹配与下载替换:
1 | python复制代码 |
下载图片 download_util 工具类:
1 | python复制代码 |
logger 工具类:
1 | python复制代码 |
file_util 工具类:
1 | python复制代码 |
4、效果
执行过程:
本机图片:
markdown中展示:
所有文章都替换完成:
同样的,知乎等其他网站上的文章只要是markdown格式的 图床文件能请求成功的 都可以使用此工具实现下载到本地并替换到文章中去实现本机存储图片永久保留。如果帮助到了你,麻烦点赞收藏评论三连!😋😋😋😋😋😋😋😋😋😋😋😋😋😋😋😋😋😋😋😋😋😋
本文转载自: 掘金