目录

获取Api

个人网页引入


大家都知道必应官网每天会更新一张高质量的背景图,如下图(时间为2018年9月2日)

而且必应的每日的每日壁纸非常漂亮,质量非常高。这里就有很多小伙伴们想把这个图片下载下来。下载的方法非常多,比如打开开发者模式找到原图保存等等,我就不一一列举了,网上一搜一大堆。这里可以给大家推荐一个网站,https://bing.ioliu.cn/,作者将必应近期的壁纸都展示在了上面,大家可以下载。

到这里单纯想获取图片的办法已经介绍完了。不过我今天的主题是如何从api的层面来获取壁纸,以及如何将该壁纸在合法的情况下动态的引入自己的网站。

首先,先给大家看一下我个人的网站(比较简单,没做设计,大神勿喷),我的网站每日同步获取必应的壁纸。接下来就教不会的小伙伴一步一步去实现。


获取Api

关于必应壁纸api的文章也特别多,也有很多小伙伴自己封装了接口提供给大家使用,我直接介绍官方的api

https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN

首先分析一下这个接口含义,直接看后面的请求参数:

参数名称 值含义
format  (非必需)

返回数据格式,不存在返回xml格式

  • js (一般使用这个,返回json格式)
  • xml(返回xml格式)
idx  (非必需)

请求图片截止天数

  • 0 今天
  • -1 截止中明天 (预准备的)
  • 1 截止至昨天,类推(目前最多获取到7天前的图片)
n (必需)

1-8 返回请求数量,目前最多一次获取8张

mkt  (非必需)

地区

  • zh-CN
  • ...

以上面url为例,可以看到返回内容为:

此时就可以得到图片部分地址了,然后通过域名+部分地址就可以直接获取图片了,如下:

https://cn.bing.com/az/hprichbg/rb/VenetianRowing_ZH-CN6668445308_1920x1080.jpg


个人网页引入

通过上面的方式在浏览器是可以直接看到图片的,但是要在自己的网站里引入的话,还会有一些问题。

跨域

直接请求是肯定会遇上跨域问题的,这里不多介绍跨域了,感兴趣的同学可以看一下这里,常用的解决办法,比如:jsonp、cors在这里明显是不合适的,我推荐大家使用nginx 做一个正向代理,将请求通过nginx代理到真正的服务器地址。

请求配置

需要注意的是,在请求地址前加上一个nginx匹配规则。

let format = 'js'
let idx = '0'
let n = '1'
let mkt = 'zh-CN'
let = options ={//...
}let imgUrl = '/proxy/' + 'HPImageArchive.aspx?' + `format=${format}&idx=${idx}&n=${n}&mkt=${mkt}`
//这里proxy就是Nginx匹配规则,可自定义fetch(imgUrl,options).then(//...
)

nginx配置

在server中配置如下内容

        location /proxy/ {rewrite ^/proxy/(.*)$ /$1 break;  #对加了proxy前缀的请求加以区分,真正访问的时候移除这个前缀,这个前缀需要自定义proxy_pass https://cn.bing.com;  #将真正的请求代理到真实的服务器地址}

通过上面的所有配置,重启nginx,就可以愉快的获取图片url了!


这里,我也推荐一下一个封装比较完善的请求api github地址,还可以获取不同分辨率以及模糊程度的图片。

以上内容仅供学习使用

获取必应每日壁纸(api)相关推荐

  1. 必应每日壁纸API HTML 使用必应每日API为背景 css 背景图片 加模糊 遮罩

    必应每日壁纸API 必应每日壁纸接口API https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh ...

  2. java一键换壁纸_Java 版下载必应每日壁纸并自动设置 Windows 系统桌面(改编自 C# 版)...

    哈哈,好久没有写博客了,已经荒废了,前几天在某 IT 网站看到一个用 C# 写的设置必应每日壁纸为 Windows 系统桌面,看了看源码是通过调用 User32.dll 进行设置的,刚刚最近做的项目更 ...

  3. 每天定时获取必应每日一图并保存做壁纸

    每天定时获取必应每日一图并保存做壁纸 ​ 必应每天会更新每日一图,这些图片都是特别好看,适合做封面壁纸等等.我做了一个自动脚本,让它每天定时获取每日一图,然后设置为个人主页博客的封面,封面和背景一共九 ...

  4. 获取bing壁纸php,php获取bing每日壁纸示例分享

    php获取bing每日壁纸示例分享 复制代码 代码如下: $str=file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx=0&am ...

  5. Bing每日壁纸API分享

    CSS中设置背景图片 可以使用此API直接在CSS中设置背景图片: background-image: url(https://bing.biturl.top/?resolution=1920& ...

  6. 【网站】Bing每日壁纸API分享

    演示地址:http://quickso.cn/ Bing每日壁纸API是一个基于RESTful的API,这里有一个已经部署好的API,此API已经支持HTTPS,可以放心调用. CSS中设置背景图片 ...

  7. 必应每日壁纸下载|必应每日壁纸V3.3.1免费下载

    每天自动更新一个高清壁纸.换完壁纸后,软件可以自动退出,不占用你的内存,真的是相当良心啊. 必应每日壁纸下载链接 必应每日壁纸插件是一个简便实用的chrome必应壁纸插件,是由微软官方推出的一款壁纸更 ...

  8. python批量下载必应每日壁纸

    文章目录 python批量下载必应每日壁纸 一.图片来源选择 二.python实现 python批量下载必应每日壁纸 必应搜索的每日背景壁纸都是高质量的图片,下载来当桌面壁纸再好不过了,微软官方也推出 ...

  9. php 必应每日壁纸,GitHub - lylares/todaybing: 必应壁纸七牛云图片站

    PHP 实现必应每日壁纸+七牛云图片站 本程序实现bing每日图片保存在服务器本地,然后自动上传到七牛云空间,在前端界面展现的图片皆从七牛云获取. 更新 2018.04.04 更新: 1.接口以及部分 ...

  10. Bing Test -必应每日壁纸自动换

    今天向大家推荐一个桌面美化类的工具,没错就是自动更换壁纸,而且是精美的必应每日壁纸哦!绿色小巧,开机自启动,设置后每日自动更新你的桌面~ 软件名称:Bing Test 链接: http://pan.b ...

最新文章

  1. 快速开发基于 HTML5 网络拓扑图应用--入门篇(二)
  2. C++面试/技巧(四)
  3. python连载第七篇~python世界里的注释符号
  4. 一个月市值蒸发116亿元,《姜子牙》救不了光线传媒
  5. 定义一个Employee类,排序
  6. 牛客小白月赛8: I. 路灯孤影(区间DP)
  7. 内部比较器:Comparable的定义使用
  8. (十八)其他数据库对象,视图,序列
  9. MATLAB教程(一)matlib介绍
  10. 前端面试题及答案(持续更新)
  11. 车型代号对照表_车型代号对照表_相关文章专题_写写帮文库
  12. 基于MDKA5D31-EK_T70开发板的QT示例-demo04:LM75A温度监测
  13. Rosalind第11题:Mortal Fibonacci Rabbits
  14. 小红书的浏览量很低是为什么?有什么提高的方法吗?
  15. 固态硬盘:NVME 2.0 新技术 ZNS 自动分区:减少延迟,提高寿命
  16. php安全开发正则表达式,动态网页制作PHP常用的正则表达式
  17. 操作系统王道考研复习——第一章(计算机系统概述)
  18. 2009 雷人记录汇总[转]
  19. VC++ 操作Word
  20. 基于飞桨的智能课堂行为分析与考试作弊检测系统

热门文章

  1. 高德地图---Poi搜索遇到的坑
  2. python将xls转换为xlsx_python – 如何将xls转换为xlsx
  3. 同学们上课,今天我们学习:UI 操作一定要在 UI 线程吗?
  4. 一元三次方程求根公式推导
  5. iOS开发之制作越狱ios设备ipa包
  6. C 不常见的一些晦涩语法
  7. 电脑与手机竟然还能这样传文件!
  8. 实验吧:天网管理系统
  9. .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
  10. vue.jsv-html,关于vue.js v-bind 的一些理解和思考,vue.jsv-bind