原文地址–>点击进入阅读

注意:该接口和代码仅供学习使用!请勿将传回的壁纸用于非法用途!请尊重版权!树立版权意识!


由于读者自身行为导致的侵权,作者概不负责!


Bing壁纸

  • Bing的壁纸是每天更换的,而且更换的壁纸都很漂亮,而如何把它变成自己的博客幕布呢?于是想到做一个Bing壁纸的接口。
  • 注:如果你不想折腾,那你可以直接使用我提供的接口:https://bingapi.littlewith.tk/?id=1
  • Bing在官方确实有给出具体的接口:网址为:http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
  • 官方接口返回的是json数据:
{"images": [{"startdate": "20221031","fullstartdate": "202210310700","enddate": "20221101","url": "/th?id=OHR.HohenzollernHechingen_ROW5987672369_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp","urlbase": "/th?id=OHR.HohenzollernHechingen_ROW5987672369","copyright": "Hohenzollern Castle, Swabian Alps, Baden-Württemberg, Germany (© Cornelia Dorr/eStock Photo)","copyrightlink": "https://www.bing.com/search?q=hohenzollern+castle+wiki&form=hpcapt","title": "Info","quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20221031_HohenzollernHechingen%22&FORM=HPQUIZ","wp": true,"hsh": "99656c4ae8b11500b6806b76d858a527","drk": 1,"top": 1,"bot": 1,"hs": []}],"tooltips": {"loading": "正在加载...","previous": "上一个图像","next": "下一个图像","walle": "此图片不能下载用作壁纸。","walls": "下载今日美图。仅限用作桌面壁纸。"}
}
  • 接口中包含着今日壁纸的信息"url": "/th?id=OHR.HohenzollernHechingen_ROW5987672369_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp"

制作的Python程序来获取美图

  • 原理:使用requests模块获取数据后,进行字符串的拼接形成可访问的最终图片网址,再次通过requests请求图片缓存,最后通过flask传回获取到的数据。

  • 最终实现的源码如下:

  • 第1个文件

#!/usr/bin/getpaper.py
import requests
import time
import json
import wgetdef get_json(url):headers = {'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"}resp = requests.get(url=url,headers=headers)jsoned = json.loads(resp.content.decode("utf-8"))finalu = jsoned['images'][0]['url']return "https://www.bing.com" + finalupassdef get_dir(content):filename = wget.download(url=content, out='./' + str(int((time.time()))) + '.jpg')#filenamed = filename.split("/")return filenamepassdef get_data(url):headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"}respond = requests.get(url=url, headers=headers)return respond.contentpassdef done():content = get_json("https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1")#result = get_dir(content)# result里面为文件路径以及文件名字result = get_data(content)return resultpass
  • 第2个文件
#!/usr/bin/webmain.py
from flask import *
import flask
import getpaper
import os
app = flask.Flask(__name__)@app.route('/')
def back():filename = getpaper.done()#image = open(filename, "rb+")resp = Response(filename, mimetype="image/jpg")return respif __name__=="__main__":app.run(host="0.0.0.0", port=4321, debug=True)
  • 请将两个文件放在同一个目录,运行webmain.py中的内容

  • 请勿将本程序运用于非法用途!

使用Python获取bing壁纸接口相关推荐

  1. flask 自动换背景,使用python获取bing每日壁纸当作登陆背景图片

    欢迎关注原创视频教程 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.c ...

  2. java获取Bing壁纸

    首先声明这是看了大佬得得博客封装的一个获取bing壁纸的方法 目的 平时觉得bing的壁纸挺好看的的就想获取它的把一些图片保存起来,所以就找了一下相关信息,于是就有了这篇博客. 环境准备 这里我使用的 ...

  3. 获取bing壁纸php,php获取bing每日壁纸的示例

    php获取bing每日壁纸的示例 这篇文章主要介绍了使用php获取bing每日壁纸的示例,需要的朋友可以参考下 代码如下: $str=file_get_contents('http://cn.bing ...

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

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

  5. Python从Bing壁纸的API接口保存图片

    先贴代码: from urllib import request from lxml import etree from time import localtime from os import ge ...

  6. python 下载bing壁纸

    简介 python的一个简单的小爬虫示例.用于爬取美美的bing桌面壁纸. 其中使用到 1. 获取html的urllib模块 2. 从html中使用正则表达式(regular expression)寻 ...

  7. 如何通过python获取股票数据接口l2?

    python提供了股票数据接口库Tushare,但用Tushare获取股票实时数据存在只能连续运行2次,就会被网站服务器禁止. 如使用以下代码: #导入模块 import tushare as ts ...

  8. python美国股票数据api_【美股量化00篇】Python获取新浪接口美股实时数据

    1.本篇以BABA(阿里巴巴)为例,在浏览器地址栏输入以下url,即可获取个股数据:阿里巴巴(BABA)实时数据​hq.sinajs.cn import requests url = 'http:// ...

  9. PHP 调用bing壁纸接口

    直接上代码: <?php function bg(){$str = file_get_contents('http://cn.bing.com/HPImageArchive.aspx?idx=' ...

最新文章

  1. 《数据竞赛白皮书》发布:竞赛核心价值及促进人才数字化转型
  2. 关于不能成为专业软件测试人员的10大理由的一些阐述
  3. failed to find romfile efi-virtio.rom
  4. 面试题19:二叉树镜像
  5. 汇编jnl_汇编指令集
  6. c语言有啥简单的小程序,c语言-简单小程序-简单算法
  7. WSDM2021 | 多交互注意力网络用于CTR预估中细粒度特征学习
  8. vue怎么根据id获取组件_vue子组件,如何根据父组件传进来的id,去查询详情,并在子组件中显示?...
  9. Cookie工具类的借鉴别人的ThinkGem的代码学习
  10. EasyUI-增删改操作
  11. 如何解决Please ensure that adb is correctly located at......
  12. clion配置opencv
  13. 什么是SQL Server数据字典?
  14. 【颜纠日记】利用PS在原创图片上制作十字水印
  15. Gson的使用——Gson解析json数组并展示在ListView控件上
  16. 关系型数据库中一对多,多对一,多对多关系(详细)
  17. 什么是OXC(全光交叉)?
  18. table标签内容过多导致设置宽度失效,超出界面
  19. 办公室养龟有什么讲究,办公室养龟风水
  20. 第六章、支付结算业务的核算

热门文章

  1. 多wan口路由器,如何实现域名解析?
  2. 融合多策略的黄金正弦黑猩猩优化算法
  3. MySQL 5.7 OCP考试大纲
  4. Linux抢占式调度简介(转)
  5. 圆形面积与周长(仅用于个人记录)
  6. 《Java 后端面试经》微服务篇
  7. 当程序员遇上电信诈骗犯 黑掉对方电脑!成功反制
  8. 美林数据“智能反窃电分析应用”荣获大数据星河奖
  9. 在沙箱运行游戏链接不上服务器,地牢猎手5连接不上服务器怎么办 无法进入游戏解决方法...
  10. Yeoman学习-yo篇