CLI使用教程 - ZayrexDev/ACGPicDownload GitHub Wiki
<程序> pixiv [全局参数] <子命令> [子命令参数] <子命令> [子命令参数] ...
pixiv 支持链式子命令:多个子命令会按顺序执行,并将上一个子命令的结果作为下一个子命令的输入(如 fetch → complete → filter → download)。
这些参数必须放在第一个子命令之前:
-
-c/-cookie <文件路径>
读取 Pixiv 登录 Cookie 文件内容(必需,除非子命令不访问 Pixiv)。 -
-p/-proxy <host:port>
设置代理,例如127.0.0.1:7890。 -
-i/-ignore
子命令执行出错时继续后续命令(默认遇错终止)。
pixiv fetch <模式> [参数...]
支持模式:
pixiv fetch -discovery [-m|-mode all|safe|r18] [-c|-count <1~100>] [-a|-append]
-
-m/-mode:all | safe | r18 -
-c/-count:数量(1~100) -
-a/-append:追加到已有列表
pixiv fetch -user [-u|-uid <用户ID或URL>] [-r|-related <深度>] [-a|-append]
-
-u/-uid:用户 UID,支持完整用户链接 -
-r/-related:关联作品抓取深度(>=0) -
-a/-append
pixiv fetch -ranking [-major <daily|weekly|monthly|rookie|original|daily_ai|male|female>] [-minor <illust|manga|ugoira>] [-r18] [-a|-append]
-
-major:榜单主分类 -
-minor:副分类(某些 major 不支持) -
-r18:启用 R18 -
-a/-append
pixiv fetch -search [-k|-keyword <关键词>] [-t|-type top|illust|manga] [-m|-mode all|safe|r18] [-p|-page <>=1>] [-s|-suffix <索引或自定义>] [-r|-related <深度>] [-a|-append]
-
-k/-keyword:关键词(必填) -
-t/-type:top | illust | manga -
-m/-mode:all | safe | r18 -
-p/-page:页码(>=1) -
-s/-suffix:热度后缀(可用索引 0-9,或直接自定义文字) -
-r/-related:关联抓取深度 -
-a/-append
pixiv download [-o|-output <目录>] [-t|-threads <>=1>]
-
-o/-output:输出目录(默认downloads) -
-t/-threads:线程数(>=1)
pixiv save -o|-output <文件> [-f|-format]
-
-o/-output:输出文件名(必填) -
-f/-format:格式化 JSON
pixiv load -f|-file <文件> [-a|-append]
-
-f/-file:输入文件名(必填) -
-a/-append:追加到已有列表
pixiv complete [-t|-thread <数量>] [-r|-retry <次数>]
-
-t/-thread:线程数(默认 2) -
-r/-retry:失败重试次数(默认 5)
pixiv filter [-b|-bookmark <最小收藏>] [-v|-view <最小浏览>] [-l|-like <最小点赞>] [-i]
-
-b/-bookmark:最小收藏 -
-v/-view:最小浏览 -
-l/-like:最小点赞 -
-i:忽略不完整数据(默认遇到不完整数据会报错)
Note
使用fetch指令获取的作品都不包含收藏、点赞的信息,所以使用filter过滤前需要先使用complete指令进行补全
pixiv add <id1,id2,...> [id3] [id4,...]
- 支持逗号分隔或空格分隔的 ID
- 会追加到已有列表
要爬取API,需要使用 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 代理地址:端口 | 设置下载与抓取使用的代理 |
你可以直接使用命令行运行 ACGPicDownload.jar ,这会使用默认的 lolicon 源...
>java -jar ACGPicDownload.jar fetch
[Fetch] Fetching pictures from https://api.lolicon.app/setu/v2?r18=0&num=1 ...
[Fetch] Got 1 pictures!
[Fetch] Downloading (文件名) to (保存目录) from (下载连接) ...
当运行完成后,你就可以在程序目录下找到下载完成的图片。
-
首先,使用
--list-sources查看可用的下载源...>java -jar ACGPicDownload.jar fetch --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} ......
如果你是第一次运行并且没有配置
sources.json,那么在执行一次与下载源有关的操作时,程序将会自动复制默认的sources.json到程序目录。 -
设置自定义参数
-
首先,确定下载源
我们将会在这个例子中使用
lolicon下载源。 -
自定义参数
在
lolicon下载源中,url里面包含的{&num=$num}等即为参数块。具体配置可见图源的地址。 我们暂且决定将num设置为 5。 并且,我们希望程序下载到程序目录下的pic文件夹... -
运行
根据我们的选择,图源使用
lolicon,将num设置为 5,下载到程序目录下的pic文件夹,则应该分别加上如下的参数:-s lolicon,-o pic,--arg num=5那么我们应该这样运行:>java -jar ACGPicDownload.jar fetch -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张新下载的图片~
-