我个人经常在CSDN上进行写作,前一段时间我选择自己建站,为了省事,我直接使用了CSDN上的图片地址,当你在CSDN上写作时你上传的图片会存储在CSDN的服务器中,可以直接在网页上输入URL访问。但是上周CSDN开始对图片施加防盗链接了,我个人网站上的所有图片全都看不到了,并附上一句话:源站可能有防盗链机制,建议将图片保存下来直接上传。
我最近也把博客地址放到简历里了,一想到hr打开我的网站看到一堆报错,肯定会大打折扣,直接pass在简历关TAT。搜索了一些解决方案,大多都治标不治本。目前图片还能存在哪里呢,大部分网站都有防盗链接,虽然github还没有,但是未来某一天也可能会设置防盗链接,毕竟谁愿意给你一直给你白嫖计算资源啊。于是乎我决定把图片存自己云服务器上。然而 一张一张下载 ——> 上传到服务器 —–> 挨个修改md里的图片地址,这样的流程如果手动去做恐怕要搞好几天吧。于是我立马爆肝三个晚上写一个批量转移的脚本并开源,一劳永逸!没有现成的轮子咱自己造轮子!
项目github地址:https://github.com/Stephen-SMJ/BlogImageTransfer
这个脚本适合与和我情况类似的朋友们使用:
1.个站图片被防盗链接限制 2.有云服务器
脚本使用方法
- 克隆仓库并进入项目目录
1
2git clone https://github.com/Stephen-SMJ/BlogImageTransfer.git
cd blog_img_script - 执行图片下载脚本(folder_path为你本地的md文件存储路径,如果本地没存要先去网站上下载到本地)
1
python collection.py --folder_path "the output path of your download images" --output_path ./imgs/
- 此时你博客文件夹中的所有图片都被下载到了–output_path 这个目录,你需要把这个文件夹上传至你的服务器,并配置Nginx映射
- 修改所有md文件中的图片路径(只更域名,会自动保留原图片名称以及描述)
1
python change_address.py --folder_path "the address of your md file in your blog project " --server_address "nginx中配置好的图片url"
完成,此时再访问你自己的博客网站应该就可以正常显示图片了!
项目github地址:https://github.com/Stephen-SMJ/BlogImageTransfer
如果觉得好用麻烦高抬贵手点点star!