前言
所有图片均来自Pixiv,版权也归作品的作者所有,API仅储存作品的基本信息。
本API仅限个人的学习研究鉴赏行为,如果因使用API产生任何问题,与API无关。
本API采用RESTful风格设计。
API前缀
目前仅可通过一个Url访问API。
https://pixiv-ab.site/api/pixiv/{PARAMS}https://pixiv-ab.tk/api/pixiv/{PARAMS}https://angelbeats.site/api/pixiv/{PARAMS}https://angelbeats-kanade.com/api/pixiv/{PARAMS}
其中https://pixiv-ab.site/api/pixiv为API的前缀,{PARAMS}为占位符,表示的是获取不同的数据需要的不同Url后缀。
API后缀
GET
/{daily|r18}/tag/{tags:string}/{daily|r18}/user/id/{id:int}/{daily|r18}/user/name/{userName:string}/{daily|r18}/date/{date:datetime}/{daily|r18}/random/id/{id:int}
POST
//json
根据tag搜索图片
Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/tag/{tags}
| 参数 | 数据类型 | 说明 |
|---|---|---|
tags |
string |
用于搜索图片的tag,多个tag之间用空格分开 |
Response body
Content-Type: application/json
{
"title": "string",
"tags": [
"string"
],
"url": "string",
"artist": "string",
"id": 0,
"uid": 0
}
| 参数 | 数据类型 | 说明 |
|---|---|---|
title |
string |
图片的标题 |
tags |
string[] |
图片的tag |
url |
string |
可以直接访问图片的Url |
artist |
string |
图片的作者 |
id |
int |
图片的P站ID |
uid |
int |
图片作者的P站ID |
本API按照AND规则匹配图片的tag,对大小写不敏感。输入的tag应当是你所要得到的图片在Pixiv里会打上的tag,因此在搜索之前最好先确定自己要搜索的图片会有什么tag,本API不提供中文转译日文的功能,最好用日文相应的tag搜索。举个例子,我想要搜索关于明日方舟和黑丝的图片,那我发送的请求应该是如此:
https://pixiv-ab.site/api/pixiv/daily/tag/明日方舟%20黑丝
其中的%20为空格在Uri中的字符编码。实际输入的时候并不需要显式输入%20,只需要输入空格就可以了。返回的数据如下:
{
"title": "史尔特尔",
"tags": [
"黑丝",
"史尔特尔",
"明日方舟",
"アークナイツ",
"スルト(アークナイツ)",
"アークナイツ1000users入り"
],
"url": "https://i.pixiv.re/img-master/img/2020/10/05/00/41/56/84809989_p0_master1200.jpg",
"artist": "MAaaaaaackia",
"id": 84809989,
"uid": 14161677
}
根据画师的ID搜索图片
Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/user/id/{id}
| 参数 | 数据类型 | 说明 |
|---|---|---|
id |
int |
画师的ID |
Response body
Content-Type: application/json
[
{
"title": "string",
"tags": [
"string"
],
"url": "string",
"artist": "string",
"id": 0,
"uid": 0
}
]
返回的数据为一个由图片信息组成的数组。
| 参数 | 数据类型 | 说明 |
|---|---|---|
title |
string |
图片的标题 |
tags |
string[] |
图片的tag |
url |
string |
可以直接访问图片的Url |
artist |
string |
图片的作者 |
id |
int |
图片的P站ID |
uid |
int |
图片作者的P站ID |
根据画师的名字搜索图片
Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/user/name/{userName}
| 参数 | 数据类型 | 说明 |
|---|---|---|
userName |
string |
画师的名字 |
Response body
Content-Type: application/json
[
{
"title": "string",
"tags": [
"string"
],
"url": "string",
"artist": "string",
"id": 0,
"uid": 0
}
]
返回的数据为一个由图片信息组成的数组。
| 参数 | 数据类型 | 说明 |
|---|---|---|
title |
string |
图片的标题 |
tags |
string[] |
图片的tag |
url |
string |
可以直接访问图片的Url |
artist |
string |
图片的作者 |
id |
int |
图片的P站ID |
uid |
int |
图片作者的P站ID |
根据日期搜索图片
Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/date/{date}
| 参数 | 数据类型 | 说明 |
|---|---|---|
date |
datetime |
画作的日期,格式需要符合datetime格式,例如:2022-06-01 |
Response body
Content-Type: application/json
[
{
"title": "string",
"tags": [
"string"
],
"url": "string",
"artist": "string",
"id": 0,
"uid": 0
}
]
返回的数据为一个由图片信息组成的数组。
| 参数 | 数据类型 | 说明 |
|---|---|---|
title |
string |
图片的标题 |
tags |
string[] |
图片的tag |
url |
string |
可以直接访问图片的Url |
artist |
string |
图片的作者 |
id |
int |
图片的P站ID |
uid |
int |
图片作者的P站ID |
随机获取一张图片
Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/random
| 参数 | 数据类型 | 说明 |
|---|---|---|
| 无 | ||
Response body
Content-Type: application/json
{
"title": "string",
"tags": [
"string"
],
"url": "string",
"artist": "string",
"id": 0,
"uid": 0
}
| 参数 | 数据类型 | 说明 |
|---|---|---|
title |
string |
图片的标题 |
tags |
string[] |
图片的tag |
url |
string |
可以直接访问图片的Url |
artist |
string |
图片的作者 |
id |
int |
图片的P站ID |
uid |
int |
图片作者的P站ID |
根据ID搜索图片
Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/id/{id}
| 参数 | 数据类型 | 说明 |
|---|---|---|
id |
int |
图片的P站ID |
Response body
Content-Type: application/json
{
"title": "string",
"tags": [
"string"
],
"url": "string",
"artist": "string",
"id": 0,
"uid": 0
}
| 参数 | 数据类型 | 说明 |
|---|---|---|
title |
string |
图片的标题 |
tags |
string[] |
图片的tag |
url |
string |
可以直接访问图片的Url |
artist |
string |
图片的作者 |
id |
int |
图片的P站ID |
uid |
int |
图片作者的P站ID |
同时用多种参数搜索图片
因为RESTful风格的约束,一个API只能搜索一个方面,如果想同时从多个方面来搜索图片,可以采用POST方法来提交多种搜索参数。有两个POST方法,一个是键值对上传,一个是JSON上传。
| # | Request URL | Content type | Request body |
|---|---|---|---|
| 1 | https://pixiv-ab.site/api/pixiv |
application/x-www-form-urlencoded |
Tags={tags}
&Date={date}
&Artist={artist}
&UserId={userId}
&Page={page}
&R18={true|false}
|
| 2 | https://pixiv-ab.site/api/pixiv/json |
application/json |
{
"tags": "string",
"date": "2022-06-01",
"artist": "string",
"uid": 0,
"page": 0,
"r18": true
}
|
| 参数 | 数据类型 | 说明 |
|---|---|---|
Tags |
string |
画作的tag,同样支持多tag搜寻,tag之间用空格分开 |
Date |
datetime |
画作上传的时间 |
Artist |
string |
画师名字 |
UserId |
int |
画师的P站ID |
Page |
int |
这个值指定搜索的图片位于所有搜索到的图片的位置,一页图片为20张,默认为1 |
R18 |
boolean |
图片是否含有R18tag,默认值为false |
Response body
Content-Type: application/json
[
{
"title": "string",
"tags": [
"string"
],
"url": "string",
"artist": "string",
"id": 0,
"uid": 0
}
]
返回的数据为一个由图片信息组成的数组。
| 参数 | 数据类型 | 说明 |
|---|---|---|
title |
string |
图片的标题 |
tags |
string[] |
图片的tag |
url |
string |
可以直接访问图片的Url |
artist |
string |
图片的作者 |
id |
int |
图片的P站ID |
uid |
int |
图片作者的P站ID |
举个例子,如果我要搜索同时满足以下条件:画作上传时间在2021年6月23日、有关于明日方舟和百合、含有R18元素的画作,那么我构建的上传json如下:
{
"tags": "明日方舟 百合",
"date": "2021-06-23",
"r18": true
}
返回的数据如下:
[
{
"title": "W 汁水",
"tags": [
"R-18",
"女の子",
"欧派",
"明日方舟",
"魅惑的大腿",
"丝袜",
"大腿",
"足",
"W",
"百合"
],
"url": "https://i.pixiv.re/img-master/img/2021/06/23/15/31/49/90753600_p0_master1200.jpg",
"artist": "阿戈魔AGM",
"id": 90753600,
"uid": 20670939
}
]
响应码
在使用本API时,请先确认返回的响应码为200,如果不是200,则代表服务器在处理该次请求时有问题。
| 响应码 | 说明 |
|---|---|
200 |
请求正常 |
404 |
找不到相应图片 |
500 |
服务器超载,请等待一段时间再试 |
其他
服务器上的数据相对于Pixiv的最新数据有一至数个小时的延迟,请不要在每天的日榜更新后立刻搜索最新一天的数据。
服务器在每周日的晚上10点进行停机维护,同时数据库也会进行更新,对全体图片的信息重新更新一遍,维护时间为2小时,请尽量避免在维护时间段内使用API。