引言

我为什么要写这个呢?

因为目前的图片是 PicGo + GitHub / Alist + Typora 进行上传的,没有存在本地的,虽说图片都在 GitHub 但是本人四个 GitHub 账号都被封了,所以想图个保障就写了这个项目,也防止一些热心人搭建的 jsDelivr 镜像站承受不住压力关站跑路了,然后好巧不巧 GitHub 号也被封了,那这图片就回不来了,总之就是图个保障罢了!

在此之前也看了一些方法,有浏览器插件的,但是它会把该页面下的所有图片都给 Download 下来,比如赞赏码、相关推荐、以及页脚的图片

image-20240423222317686

找来找去,没找到适合自己,又不想点击文章一个一个去备份图片,那多累啊,怎么办?那就自己写一个咯

目前的不足:

  1. 该项目需要 hexo-seo 插件的支持,需要它生成 urls.txt 文件
  2. 该项目需要 JDK 环境支持,这个暂时没办法的啦

有能力的大佬可以用其它的语言再加个前端,在网页上,只要输入 https://blog.xxx.xxx/baidu.txt 爬取该文本内容的所有文章链接进行爬取并打包压缩返回客户端给我下载😁


## 项目演示

项目地址:【sudojia/reptile_postimg

首先需要安装 hexo-seo 插件,这个东西装了也没坏处,我用的是乐特子的 hexo-seo 插件

然后在博客的根目录添加配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# enable: 开启/关闭 推送
# cron: 执行时间周期
# count: 每次提交最新的10篇文章,输入0或者不填写则默认为所有文章(建议是最新的10篇文章)
# date: 更新时间(updated)|创建日期(created)
# https://github.com/Lete114/hexo-seo-autopush.git
hexo_seo_autopush:
cron: 15 2 * * *
baidu:
enable: true
date: created
count: 200
bing:
enable: true
date: created
count: 300
google:
enable: false
date: created
count: 10

我百度的这个 200 是为了让它帮我生成最大 200 条文章链接,正常我是 10 的

然后 hexo cl && hexo g && hexo s 就可以在根目录下 public 里找到 baidu.txt 文件

image-20240423224647082

把这个 .txt 文件和这个 jar 包放在同一个目录,并重命名为 urls.txt

有 JDK 的就直接 java -jar reptile_postimg-1.0.jar 文章目录名 即可

  • 文章目录名指的是 https://blog.imzjw.cn/posts/b74f504f/posts,因为每个人都不可能是 posts

没有的话就只能下载安装了

安装就直接下一步下一步,然后配置环境变量

配置好之后,CMD 进入项目

输入命令:

1
java -jar reptile_postimg-1.0.jar posts

目前就测试了五条链接,基本没什么问题,会以你的文章 ID 命名创建文件夹并存放对应的文章图片!

image-20240423235811353

仅支持 https://blog.xxx.com/xxx/abcd/ 和 /xxx/abcd.html 格式

如果该文章下没有图片的话,它会返回该文章下没有图片!

image-20240424001013682

另外也不建议,一下就 100 条,200 条,IO 可能会抛异常!