CLI使用教程 - ZayrexDev/ACGPicDownload GitHub Wiki

命令行

子指令 fetch

从指定的下载源下载图片。

用法:

java -jar ACGPicDownload.jar fetch [参数]

参数列表:

参数名 描述
--list-sources 列出所有已配置的下载源
-s, --source 下载源名 设置需要使用的源,若为空,使用配置下的第一个下载源
-o, --output 保存路径 设置下载目录,若为空,则默认为当前目录
--arg key1=value1,key2=value2,... 自定义URL里的某些参数。 详细请参见url
-m, --max-thread 线程数 设置同时下载的最大文件数,如果不给出线程数,则视为无限制
-t, --times 次数 指定抓取的次数(不建议设置,可能会触发api的数量限制)
-f,--full 同时下载图片的返回json,会保存为与图片同名的json文件下
-p,--proxy 代理地址:端口 设置下载与抓取使用的代理

子指令 schedule

定时执行指令

用法

  • 添加初始指令并进入schedule模式

    >java -jar ACGPicDownload.jar schedule [参数] [要执行的fetch指令]
  • 仅进入schedule模式

    >java -jar ACGPicDownload.jar schedule
    Schedule>

schedule模式模式下,你可以使用以下指令:

指令 描述
add <参数> <指令> 添加fetch事件
del <指令id> 删除某一条事件
list 列出目前所有添加的事件
start 退出schedule模式并开始执行事件

参数列表:

参数名 描述
--interval,-i <时间间隔> 指定每次执行的间隔,例如10s,2m
--max-times, -m <最大次数> 指定执行的最大次数

...说得再具体些?

直接运行

你可以直接使用命令行运行 ACGPicDownload.jar ,这会使用默认的 lolicon 源...

>java -jar ACGPicDownload.jar

[Fetch] Fetching pictures from https://api.lolicon.app/setu/v2?r18=0&num=1 ...
[Fetch] Got 1 pictures!
[Fetch] Downloading (文件名) to (保存目录) from (下载连接) ...

当运行完成后,你就可以在程序目录下找到下载完成的图片。

添加参数

  1. 首先,使用 --list-sources 查看可用的下载源...

    >java -jar ACGPicDownload.jar --list-sources
    
    [Fetch] Name      |  Description                                                |  URL
    
    [Fetch] lolicon   |  Picture from Lolicon API (api.lolicon.app)                 |  https://api.lolicon.app/setu/v2?{r18=$r18}{&num=$num}{&keyword=$keyword}{&tag=$tag}
    
    [Fetch] dmoe      |  Picture from Dmoe API (dmoe.cc)                            |  https://www.dmoe.cc/random.php
    
    [Fetch] mirlkoi   |  Picture from MirlKoiAPI (api.iw233.cn)                     |  https://iw233.cn/api.php?sort=random&type=json{&num=$num}
    
    [Fetch] yande     |  Picture from Yande (yande.re)                              |  https://yande.re/post.json?{limit=$limit}{&tag=$tag}{&page=$page}
    
    [Fetch] konachan  |  Picture from Konachan (konachan.com)                       |  https://konachan.com/post.json?{limit=$limit}{&tag=$tag}{&page=$page}
    
    [Fetch] btstu     |  Picture from btstu (api.btstu.cn)                          |  https://api.btstu.cn/sjbz/api.php?lx=dongman&format=images
    
    [Fetch] r10086    |  Picture from r10086 (img.r10086.com)                       |  https://api.r10086.com/img-api.php?type=%E5%8A%A8%E6%BC%AB%E7%BB%BC%E5%90%881
    
    [Fetch] mtyqx     |  Picture from mtyqx (api.mtyqx.cn)                          |  https://api.mtyqx.cn/tapi/random.php
    
    [Fetch] eee.dog   |  Picture from eee.dog (www.eee.dog/tech/rand-pic-api.html)  |  https://api.yimian.xyz/img?type=moe{&r18=$r18}
    
    [Fetch] xiaowai   |  Picture from xiaowai (api.ixiaowai.cn)                     |  https://api.ixiaowai.cn/api/api.php
    
    [Fetch] vvhan     |  Picture from vvhan (api.vvhan.com)                         |  https://api.vvhan.com/api/acgimg
    
    [Fetch] tenapi    |  Picture from tenapi (tenapi.cn)                            |  https://tenapi.cn/acg

    ...可以看到,目前默认有12个下载源可用。

    如果你是第一次运行并且没有配置 sources.json ,那么在执行一次与下载源有关的操作时,程序将会自动复制默认的 sources.json 到程序目录。

  2. 设置自定义参数

    1. 首先,确定下载源

      我们将会在这个例子中使用 lolicon 下载源。

    2. 自定义参数

      lolicon 下载源中,url里面包含的 {&num=$num} 等即为参数块。具体配置可见图源的地址。 我们暂且决定将 num 设置为 5。 并且,我们希望程序下载到程序目录下的 pic 文件夹...

    3. 运行

      根据我们的选择,图源使用 lolicon,将 num 设置为 5,下载到程序目录下的 pic 文件夹,则应该分别加上如下的参数:-s lolicon,-o pic,--arg num=5 那么我们应该这样运行:

      >java -jar ACGPicDownload.jar -s lolicon -o pic --arg num=5
      
      [Fetch] Fetching pictures from https://api.lolicon.app/setu/v2?r18=0&num=5 ...
      [Fetch] Got 5 pictures!
      [Fetch] Downloading (文件名1) to (保存目录) from (下载连接1) ...
      [Fetch] Downloading (文件名2) to (保存目录) from (下载连接2) ...
      [Fetch] Downloading (文件名3) to (保存目录) from (下载连接3) ...
      [Fetch] Downloading (文件名4) to (保存目录) from (下载连接4) ...
      [Fetch] Downloading (文件名5) to (保存目录) from (下载连接5) ...

      当程序运行完成后,你将会看到在程序目录下新增了5张新下载的图片~

定时执行

  1. 如果你需要定时执行那么请先按照 添加参数 一节的步骤确定要运行的指令

  2. 接下来,先进入 schedule 子指令

    >java -jar ACGPicDownload.jar schedule
    Schedule>
  3. 假设我们要将上面的指令每10分钟运行一次,总共运行20次,那么我们应该加上 -i 10m-m 20 的参数。那么我们的事件指令应为 -i 10m -m 20 -s lolicon -o pic --arg num=5

  4. 最后,在前面添加 add 以添加事件,并用 start 开始运行。

>java -jar ACGPicDownload.jar schedule
Schedule>add -i 10m -m 20 -s lolicon -o pic --arg num=5
[Schedule] Event added. ID = 0
Schedule>start
[Schedule|0|114514] Fetching pictures from https://api.lolicon.app/setu/v2?r18=0&num=5 ...
[Schedule|0|114514] Got 5 pictures!
[Schedule|0|114514] Downloading (文件名1) to (保存目录) from (下载连接1) ...
[Schedule|0|114514] Downloading (文件名2) to (保存目录) from (下载连接2) ...
[Schedule|0|114514] Downloading (文件名3) to (保存目录) from (下载连接3) ...
[Schedule|0|114514] Downloading (文件名4) to (保存目录) from (下载连接4) ...
[Schedule|0|114514] Downloading (文件名5) to (保存目录) from (下载连接5) ...
[Schedule|0|114514] [Event end]
⚠️ **GitHub.com Fallback** ⚠️