博客图片被设置防盗链接?我爆肝三晚写了这个批量图片站点转移脚本(已开源)

我个人经常在CSDN上进行写作,前一段时间我选择自己建站,为了省事,我直接使用了CSDN上的图片地址,当你在CSDN上写作时你上传的图片会存储在CSDN的服务器中,可以直接在网页上输入URL访问。但是上周CSDN开始对图片施加防盗链接了,我个人网站上的所有图片全都看不到了,并附上一句话:源站可能有防盗链机制,建议将图片保存下来直接上传。

image

我最近也把博客地址放到简历里了,一想到hr打开我的网站看到一堆报错,肯定会大打折扣,直接pass在简历关TAT。搜索了一些解决方案,大多都治标不治本。目前图片还能存在哪里呢,大部分网站都有防盗链接,虽然github还没有,但是未来某一天也可能会设置防盗链接,毕竟谁愿意给你一直给你白嫖计算资源啊。于是乎我决定把图片存自己云服务器上。然而 一张一张下载 ——> 上传到服务器 —–> 挨个修改md里的图片地址,这样的流程如果手动去做恐怕要搞好几天吧。于是我立马爆肝三个晚上写一个批量转移的脚本并开源,一劳永逸!没有现成的轮子咱自己造轮子!

项目github地址:https://github.com/Stephen-SMJ/BlogImageTransfer
这个脚本适合与和我情况类似的朋友们使用:

1.个站图片被防盗链接限制 2.有云服务器

脚本使用方法

  1. 克隆仓库并进入项目目录
    1
    2
    git clone https://github.com/Stephen-SMJ/BlogImageTransfer.git
    cd blog_img_script
  2. 执行图片下载脚本(folder_path为你本地的md文件存储路径,如果本地没存要先去网站上下载到本地)
    1
    python collection.py --folder_path "the output path of your download images" --output_path ./imgs/
    屏幕截图 2023-03-21 163156
  3. 此时你博客文件夹中的所有图片都被下载到了–output_path 这个目录,你需要把这个文件夹上传至你的服务器,并配置Nginx映射
  4. 修改所有md文件中的图片路径(只更域名,会自动保留原图片名称以及描述)
    1
    python change_address.py --folder_path "the address of your md file in your blog project " --server_address "nginx中配置好的图片url"
    屏幕截图 2023-03-21 191719

完成,此时再访问你自己的博客网站应该就可以正常显示图片了!

项目github地址:https://github.com/Stephen-SMJ/BlogImageTransfer
如果觉得好用麻烦高抬贵手点点star!