一、官方公开核心接口(首选)
1. 基础信息
- 接口地址:https://cn.bing.com/HPImageArchive.aspx(国内)、https://www.bing.com/HPImageArchive.aspx(国际)
- 请求方式:GET
- 返回格式:JSON/XML(通过format指定)
- 核心优势:无鉴权、免费、稳定,最多获取近7天壁纸
2. 关键参数(查询字符串拼接)
| 参数 | 类型 | 可选值 | 说明 |
|---|---|---|---|
| format | 字符串 | js/json、xml | 输出格式,js/json返回JSON,默认XML |
| idx | 整数 | -1/0/1~7 | 0=今日,-1=明日(预发布),1=昨日,最大7天前 |
| n | 整数 | 1~8 | 单次返回数量,最多8张 |
| mkt | 字符串 | zh-CN、en-US等 | 地区/市场,影响壁纸内容与版权信息 |
3. 示例请求
获取今日1张中文壁纸:
https://cn.bing.com/HPImageArchive.aspx?format=json\&idx=0\&n=1\&mkt=zh-CN
4. 响应解析与图片URL拼接
响应中images数组包含壁纸元数据,关键字段:
- url:默认尺寸相对路径(如/th?id=...)
- urlbase:基础路径,用于拼接高清尺寸
- copyright:版权描述
拼接高清URL示例:
5. 完整Python示例代码
python
import requests
def get_bing_wallpaper():
url = "https://cn.bing.com/HPImageArchive.aspx"
params = {
"format": "json",
"idx": 0, # 今日
"n": 1, # 1张
"mkt": "zh-CN"
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
response = requests.get(url, params=params, headers=headers)
if response.status_code == 200:
data = response.json()
image_info = data["images"][0]
# 拼接1920×1080高清URL
full_url = f"https://cn.bing.com{image_info['urlbase']}_1920x1080.jpg"
return {
"url": full_url,
"copyright": image_info["copyright"],
"date": image_info["startdate"]
}
else:
return None
# 调用示例
wallpaper = get_bing_wallpaper()
if wallpaper:
print("壁纸URL:", wallpaper["url"])
print("版权:", wallpaper["copyright"])
二、第三方封装接口(备选)
适合快速集成或需要额外功能(如随机、尺寸参数)的场景,部分有免费额度限制。
- Bing BitURL:https://bing.biturl.top,支持format=image直接返回图片,image_format=jpg/webp
- Shinie API:https://api.bing.shinie.top/today,支持w/h指定宽高
- ALAPI:https://v3.alapi.cn/api/bing,需注册获取token