图床搬家 发表于 2020-06-27 | 更新于 2020-06-27
| 字数总计: 455 | 阅读时长: 1分钟 | 阅读量:
管理markdown文章的时候遇到了一个比较头疼的问题,那就是如果以后图床挂了后,文章的图片链接岂不是要一个个改?
之后我想了几个解决方案在这里mark下先
利用反向代理
反向代理就是你访问A网站,A网站上没有资源,A知道B网站上有资源,就去B网站把资源要过来传输给你,这样的话,你看到的就是A网站具有资源,至于如何使用Nginx或Apach实现反向代理,可以搜索我博客中的其他文章,或者网上找教程。
批量修改文章的图片链接
使用Python脚本解决,代码如下(非原创) 修改代码中要指定的路径(第43行)和要替换前后(26行)的内容,run运行既可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 import osimport reimport timedef modify_md_content (top ): for root, dirs, files in os.walk(top, topdown=False ): for file_name in files: file_name_split = file_name.split('.' ) print ("a" ) try : if file_name_split[-1 ] == 'md' : md_file_path = os.path.join(root, '.' .join(file_name_split)) copy_md_file_path = os.path.join(root, '.' .join([f'{file_name_split[0 ]} _copy' , file_name_split[1 ]])) with open (md_file_path, 'r' , encoding='utf8' ) as fr, \ open (copy_md_file_path, 'w' , encoding='utf8' ) as fw: data = fr.read() data = re.sub('旧内容' , '新内容' , data) fw.write(data) os.remove(md_file_path) os.rename(copy_md_file_path, md_file_path) print (f'{md_file_path} done...' ) time.sleep(0.5 ) except FileNotFoundError as e: print (e) time.sleep(0.5 ) if __name__ == '__main__' : top = r'路径' print ("a" ) modify_md_content(top)