Skip to content

flow2000/bing-wallpaper-api

Repository files navigation

必应图片API

简介

​ 必应搜索每日都会有一张精美的图片,我们可以

​ 1、保存下来搭建api用于图片展示

​ 2、放在博客当博客背景

​ 于是便有了本项目的诞生。本项目借助python实现:

​ 1、服务端获取2016-至今的壁纸接口数据,并存储到Mongodb

​ 2、提供json接口和图片接口

壁纸资源

自搭建服务需要必应壁纸资源的话可去到博客自取:

分享2009-至今的必应壁纸

API接口说明

获取今日壁纸

https://api.bimg.cc/today?w=1920&h=1080&mkt=zh-CN
参数名 类型 是否必要 备注
w Int 图片宽度,默认1920
h Int 图片高度,默认1080
uhd Bool 是否4k,默认False
mkt String 地区,默认zh-CN

获取随机壁纸

https://api.bimg.cc/random?w=1920&h=1080&mkt=zh-CN
参数名 类型 是否必要 备注
w Int 图片宽度,默认1920
h Int 图片高度,默认1080
uhd Bool 是否4k,默认False
mkt String 地区,默认zh-CN

获取壁纸JSON数据

https://api.bimg.cc/all?page=1&order=asc&limit=10&w=1920&h=1080&mkt=zh-CN
参数名 类型 是否必要 备注
page Int 页数,默认1
limit Int 每页数据量,默认10(1-20)
w Int 图片宽度,默认1920
h Int 图片高度,默认1080
order string 排序,默认降序desc,升序asc
mkt String 地区,默认zh-CN
// 已知分辨率
resolutions: [
    '1920x1200',
    '1920x1080',
    '1080x1920',
    '1366x768',
    '1280x768',
    '1024x768',
    '800x600',
    '800x480',
    '768x1280',
    '720x1280',
    '640x480',
    '480x800',
    '400x240',
    '320x240',
    '240x320'
]
// 已知国家地区
locations: [
    "de-DE",
    "en-CA",
    "en-GB",
    "en-IN",
    "en-US",
    "fr-FR",
    "it-IT",
    "ja-JP",
    "zh-CN"
]

获取壁纸数量

https://api.bimg.cc/total?mkt=zh-CN
参数名 类型 是否必要 备注
mkt String 地区,默认zh-CN

部署

vercel部署

1、在 MongoDB 申请 MongoDB 帐号,具体可查看我的博客教程:如何申请一个永久免费的 Mongodb 数据库 - 详细版

2、在Vercel申请 Vercel帐号

3、创建数据库用户名和密码,在IPAccess List添加0.0.0.0(代表允许所有 IP 地址的连接),在 Clusters 页面点击 CONNECT,选择第二个:Connect your application,并记录数据库连接字符串,请将连接字符串中的 user修改为数据库用户,<password> 修改为数据库密码

3、点击部署vercel deploy

4、进入 Settings - Environment Variables,添加环境变量 MONGODB_URI,值为第 3 步的数据库连接字符串

5、进入 Overview,点击 Domains 下方的链接,添加一个子域名,并在域名解析添加一个CNAME解析:cname.vercel-dns.com.,等待刷新完成即可获得一个https的接口

docker部署

docker run -itd --name bimg --restart=always --env MONGODB_URI=<url> -p 9127:8888 flow2000/bimg

MONGODB_URI:存储方式为mongodb时的环境变量

未来计划

鸣谢

感谢hexo-circle-of-friends的自动化思路

感谢Bing-Wallpaper-Action的分地区思路以及仓库的初始化数据