就在前几天,发生了件令我十分头疼的事情。我搭建的 p 站反代服务被人恶意调用,在国内请求了百万张 R18 图片,险些造成严重的后果,不过还好我及时进行了处理。
正当我松了口气,准备来张涩图奖励下自己的时候,机器人却一直提示图片请求失败。进首页一看,用了快 3 年的 API 因为作者被爬虫抓烦了,决定停止服务。这下心情更不好了.jpg
前言
既然 API 挂掉了,那么再去换一个不就好了,为什么要自己从头去写?
因为随机图片本身并没什么技术难点,我只花了半天不到的时间就写完了。而且很难找到能满足我使用需求的 API,就算找到了也无法保证意外会在哪天到来。
除了通过 API 获取随机图片外,你还可以直接 访问首页 来查询(关键字、搜图)p 站作品的相关信息。(暂未适配移动端)
为什么不是…
我们都知道,上 Google 随便一搜就能找到好几个 Pixiv 服务,那么这个 API 有什么特别之处?
最初,我只是因为在群里做了一个 QQ 机器人,顺手添加的涩图功能,却没想到好拼如潮。但是随着时间的推移,这也暴露出了许许多多的问题。虽然群内确实因为涩图增加了一部分的趣味性,但由于发送的图片不可控,再加上内鬼举报以及各种不可抗之力,导致 Bot 被频繁风控。
所以我在录入图片的时候,遵循着下列几条事项:
- 无露点(胖次、南北半球)
泳装除外 - 无性暗示(撩裙角、推倒)
- 无过激行为(舔脚、kiss 拉丝、0721)
在保证图片质量的同时,又能让其适合分享至各个社交平台,而不用担心会造成不良影响。
这个时候可能就有人要问了,那你这里的图不是一点都不涩嘛!当我们看到可爱的女孩子,并从内心深处发出「好可爱呀」的电波时,目的就已经达到了,不是么?
随机图片
1 | GET https://pixiv.yuki.sh/api/recommend |
参数名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
type | string | redirect | redirect | json |
size | string | original | mini | thumb | small | regular | original |
proxy | string | i.yuki.sh | 将会替换 urls 中的 i.pximg.net 源地址 |
如果 type
传入 redirect
,访问 API 将会直接 302 跳转图片地址,json
则返回数据结果集。
信息查询
1 | GET https://pixiv.yuki.sh/api/illust |
参数名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
id | string | pixiv 作品 id | |
proxy | string | i.yuki.sh | 将会替换 urls 中的 i.pximg.net 源地址 |
要是你查询的图片含有 R-18
的标签,那么 urls 将全部返回 null
。