使用 JAVA 写了个 Hexo 静态博客的文章图片备份方法
引言
我为什么要写这个呢?
因为目前的图片是 PicGo + GitHub / Alist + Typora 进行上传的,没有存在本地的,虽说图片都在 GitHub 但是本人四个 GitHub 账号都被封了,所以想图个保障就写了这个项目,也防止一些热心人搭建的 jsDelivr 镜像站承受不住压力关站跑路了,然后好巧不巧 GitHub 号也被封了,那这图片就回不来了,总之就是图个保障罢了!
在此之前也看了一些方法,有浏览器插件的,但是它会把该页面下的所有图片都给 Download 下来,比如赞赏码、相关推荐、以及页脚的图片
找来找去,没找到适合自己,又不想点击文章一个一个去备份图片,那多累啊,怎么办?那就自己写一个咯
目前的不足:
- 该项目需要 hexo-seo 插件的支持,需要它生成
urls.txt
文件 - 该项目需要 JDK 环境支持,这个暂时没办法的啦
有能力的大佬可以用其它的语言再加个前端,在网页上,只要输入 https://blog.xxx.xxx/baidu.txt
爬取该文本内容的所有文章链接进行爬取并打包压缩返回客户端给我下载😁
项目演示
项目地址:
首先需要安装 hexo-seo
插件,这个东西装了也没坏处,我用的是乐特子的 hexo-seo 插件
然后在博客的根目录添加配置
1 | # enable: 开启/关闭 推送 |
我百度的这个 200 是为了让它帮我生成最大 200 条文章链接,正常我是 10 的
然后 hexo cl && hexo g && hexo s
就可以在根目录下 public 里找到 baidu.txt 文件
把这个 .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 命名创建文件夹并存放对应的文章图片!
仅支持 https://blog.xxx.com/xxx/abcd/ 和 /xxx/abcd.html
格式
如果该文章下没有图片的话,它会返回该文章下没有图片!
另外也不建议,一下就 100 条,200 条,IO 可能会抛异常!