【python】7个随机二次元图片api接口汇总(附网页调用示例)

在这里插入图片描述


1. 韩小韩API

1.1. 接口文档

https://api.vvhan.com/dongman.html

1.2. 请求地址

https://api.vvhan.com/api/acgimg

1.3. 请求方式

get

1.4. 请求参数

字段类型描述
returnstr响应数据格式,可选json

1.5. 示例代码

import json, requests
url = 'https://api.vvhan.com/api/acgimg'
params = {'type': 'json'}
res = requests.get(url, params=params).json()
print(json.dumps(res, indent=2))

1.6. 响应数据

{
  "success": true,
  "imgurl": "https://cdn.jsdelivr.net/gh/uxiaohan/GitImgTypecho/Acg/api.vvhan.com[337].jpg",
  "info": {
    "width": 1920,
    "height": 1080,
    "type": "img"
  }
}

1.7. 图片预览

在这里插入图片描述

1.8. 温馨提示

调用多次发现,该接口返回的图片尺寸大多是1920x1800,且图片url地址中只有最后[ ]里面的数值在变化,截止目前该变化范围是0-696,也就是该接口是从697张二次元图片中随机返回一张。如果你想下载该接口所有的697张图片,可以使用下方代码:

'''依赖模块
pip install requests
'''
import concurrent.futures as cf
import os, time, requests

# 单张图片下载函数
def down(fname, url):
    res = requests.get(url)
    with open(fname, 'wb') as f:
        f.write(res.content)

# 进度条打印函数
def show(num, _sum,  runTime):
    barLen = 20
    perFin = num/_sum
    numFin = round(barLen*perFin)
    numNon = barLen-numFin
    leftTime = (1-perFin)*(runTime/perFin)
    print(
        f"{num:0>{len(str(_sum))}}/{_sum}",
        f"|{'█'*numFin}{' '*numNon}|",
        f"PROCESS: {perFin*100:.0f}%",
        f"RUN: {runTime:.0f}S",
        f"ETA: {leftTime:.0f}S",
        end='\r'
    )
    if num == _sum:
        print()

# 主函数(多线程)
def main():                  
    floder = './img/'
    os.makedirs(floder, exist_ok=True)
    fmt = 'https://cdn.jsdelivr.net/gh/uxiaohan/GitImgTypecho/Acg/api.vvhan.com[{}].jpg'
    total = 697
    with cf.ThreadPoolExecutor() as tp:
        t1 = time.time()
        futures = []
        for i in range(total):
            url = fmt.format(i)
            fname = floder+os.path.basename(url)
            future = tp.submit(down, fname, url)
            futures.append(future)
        count = 0
        for future in cf.as_completed(futures):
            count += 1
            t2 = time.time()
            show(count, total, t2-t1)
    os.system('pause')


main()

在这里插入图片描述

2. 樱花API

2.1. 接口文档

http://www.dmoe.cc/

2.2. 请求地址

http://www.dmoe.cc/random.php

2.3. 请求方式

get

2.4. 请求参数

字段类型描述
returnstr响应数据格式,可选json

2.5. 示例代码

import json, requests
url = 'http://www.dmoe.cc/random.php'
params = {'return': 'json'}
res = requests.get(url, params=params).json()
print(json.dumps(res, indent=2))

2.6. 响应数据

{
  "code": "200",
  "imgurl": "https://tva1.sinaimg.cn/large/0072Vf1pgy1foxkil4o6qj31hc0u0nbz.jpg",
  "width": "1920",
  "height": "1080"
}

2.7. 图片预览

在这里插入图片描述

3. 岁月小筑API

3.1. 接口文档

http://img.xjh.me/

3.2. 请求地址

  • https

https://img.xjh.me/random_img.php

  • http

http://img.xjh.me/random_img.php

3.3. 请求方式

get

3.4. 请求参数

字段类型描述
returnstr响应数据格式,可选json或302
typestr返回图片类型,可选bg即背景图
ctypestr背景图类型,可选acg或nature

3.5. 示例代码

import json, requests
url = 'https://img.xjh.me/random_img.php'
params = {
    'return': 'json',
    'type': 'bg',
    'cytpe': 'acg'
}
res = requests.get(url, params=params).json()
print(json.dumps(res, indent=2))

3.6. 响应数据

{
  "error": 0,
  "result": 200,
  "img": "//img.xjh.me/desktop/bg/acg/53829526_p0.jpg"
}

3.7. 图片预览

在这里插入图片描述

4. Lucky小站API

4.1. 接口文档

https://www.nck.cc/index.php/archives/3/

4.2. 请求地址

https://www.rrll.cc/tuceng/ecy.php

4.3. 请求方式

get

4.4. 请求参数

字段类型描述
returnstr响应数据格式,可选json

4.5. 示例代码

url = 'https://www.rrll.cc/tuceng/ecy.php'
params = {
    'return': 'json'
}
res = requests.get(url, params=params).json()
print(json.dumps(res, indent=2))

4.6. 响应数据

{
  "code": "200",
  "acgurl": "https://tva4.sinaimg.cn/large/0072Vf1pgy1foxkgc5msdj31hc0u01cv.jpg",
  "width": "1920",
  "height": "1080",
  "size": "jpg"
}

4.7. 图片预览

在这里插入图片描述

5. 三秋API

5.1. 接口文档

https://api.ghser.com/acg.html

5.2. 请求地址

https://api.ghser.com/random/api.php

5.3. 请求方式

get/post

5.4. 请求参数

5.5. 示例代码

import json, requests
url = 'https://api.ghser.com/random/api.php'
res = requests.get(url)
print(res.url)

5.6. 响应数据

返回302重定向后的图片url

https://tva1.sinaimg.cn/large/006gkh44ly1fz1kddbampj31hc0u0tyb.jpg

5.7. 图片预览

在这里插入图片描述

6. 汐岑API

6.1. 接口文档

https://acg.yanwz.cn/

6.2. 请求地址

https://acg.yanwz.cn/wallpaper/api.php

6.3. 请求方式

get

6.4. 请求参数

6.5. 示例代码

import json, requests
url = 'https://acg.yanwz.cn/wallpaper/api.php'
res = requests.get(url)
with open('test.jpg', 'wb') as f:
    f.write(res.content)

6.6. 响应数据

二进制流图片

6.7. 图片预览

在这里插入图片描述

7. 呓喵酱API

7.1. 接口文档

https://www.eee.dog/tech/rand-pic-api.html

7.2. 请求地址

https://api.yimian.xyz/img

7.3. 请求方式

get/post

7.4. 请求参数

字段类型描述
typestr图片类型,可选moe为二次元图
sizestr图片大小,可选1920x1080

7.5. 示例代码

import json, requests
url = 'https://api.yimian.xyz/img'
params = {
    'type': 'moe',
    'size': '1920x1080'
}
res = requests.get(url, params=params)
print(res.url)

7.6. 响应数据

返回302重定向后的图片url

https://yimian-image.obs.cn-east-2.myhuaweicloud.com/moe/img_865_2048x1152_96.5199966430664_null_normal.jpg?AWSAccessKeyId=6LJRZC0YN3MQXXFOWMIH&Expires=1608815304&Signature=C5BWWC/r1/o230t1VVLHHmH0kF4%3D

7.7. 图片预览

在这里插入图片描述

8. 调用代码汇总

# %%1. 韩小韩API
import json, requests
url = 'https://api.vvhan.com/api/acgimg'
params = {'type': 'json'}
res = requests.get(url, params=params).json()
print(json.dumps(res, indent=2))


# %%2. 樱花API
import json, requests
url = 'http://www.dmoe.cc/random.php'
params = {'return': 'json'}
res = requests.get(url, params=params).json()
print(json.dumps(res, indent=2))


# %%3. 岁月小筑API
import json, requests
url = 'https://img.xjh.me/random_img.php'
params = {
    'return': 'json',
    'type': 'bg',
    'cytpe': 'acg'
}
res = requests.get(url, params=params).json()
print(json.dumps(res, indent=2))


# %%4. Lucky小站API
import json, requests
url = 'https://www.rrll.cc/tuceng/ecy.php'
params = {
    'return': 'json'
}
res = requests.get(url, params=params).json()
print(json.dumps(res, indent=2))


# %%5. 一叶三秋API
import json, requests
url = 'https://api.ghser.com/random/api.php'
res = requests.get(url)
print(res.url)


# %%6. 汐岑API
import json, requests
url = 'https://acg.yanwz.cn/wallpaper/api.php'
res = requests.get(url)
with open('test.jpg', 'wb') as f:
    f.write(res.content)

# %%7. 呓喵酱API
import json, requests
url = 'https://api.yimian.xyz/img'
params = {
    'type': 'moe',
    'size': '1920x1080'
}
res = requests.get(url, params=params)
print(res.url)

9. 网页调用示例

樱花API为例

  • 插入图片
<img src="http://www.dmoe.cc/random.php"/>
  • 背景图片
<body style="background: url(http://www.dmoe.cc/random.php);"></body>

其它API只需要替换srcurl属性值为以下值

1. 韩小韩API
https://api.vvhan.com/api/acgimg
2. 樱花API
http://www.dmoe.cc/random.php
3. 岁月小筑API
https://img.xjh.me/random_img.php?return=302
4. Lucky小站API
https://www.rrll.cc/tuceng/ecy.php
5. 一叶三秋API
https://api.ghser.com/random/api.php
6. 汐岑API
https://acg.yanwz.cn/wallpaper/api.php
7. 呓喵酱API
https://api.yimian.xyz/img
posted @ 2020-12-24 21:35  XavierJ  阅读(18600)  评论(1编辑  收藏  举报