色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python 下載Bing壁紙的示例

瀏覽:6日期:2022-07-09 15:41:44

這個示例使用的Python版本為3.7版本,

一、bing壁紙接口

訪問bing的官網,通過瀏覽器開發者工具,查看網絡可以找到一個請求壁紙的接口,至于怎么判斷的,我是發現當我把鼠標放在切換壁紙的左右箭頭時,發現發送了一個請求,查看請求里面是有當前的壁紙信息的,鏈接、描述等等……

Python 下載Bing壁紙的示例

于是乎得到了這個接口,這個接口似乎就是獲取壁紙信息的接口了

https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&nc=1600743189543&pid=hp

再結合網上收集的資料,可以找到鏈接上的參數解釋

參數 說明 可能的值 format 返回數據格式,固定是json的 js idx 倒數第幾天的壁紙,最大為7天內,正整數表示倒數第幾天 0,1,2 ... 7 n 一次獲取多少張圖片,最大值為7 1,2 ... 7 nc 時間戳,以毫秒表示 1600743189543 pid 不知道這個參數有啥用 hp

二、Python程序

首先肯定是讀取接口的返回數據了,這次使用的是requests框架,可以使用pip安裝

pip install requests

獲取壁紙json數據

#!/usr/bin/pythonimport requestsimport time# 時間戳timestamp = str(int(time.time() * 1000))# 拼接請求地址url = ’https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&nc=’ + timestamp + ’&pid=hp’# 請求頭,模擬瀏覽器UAheaders = { ’User-Agent’: ’ ’.join([’Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 14)’, ’AppleWebKit/537.36 (KHTML, like Gecko)’, ’Chrome/70.0.3538.102’, ’Safari/537.36’, ’Edge/18.18363’])}r = requests.get(url=url, headers=headers)result = r.json()

通過上面的請求接收到的json類似下面的格式,注意我們需要的圖片是在$.images[*].url這里,雖然沒寫完整的url,不過經過嘗試也可以知道是bing的域名了

{'images': [{'startdate': '20200921','fullstartdate': '202009211600','enddate': '20200922','url': '/th?id=OHR.Matamata_ZH-CN8111830275_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp','urlbase': '/th?id=OHR.Matamata_ZH-CN8111830275','copyright': '馬塔馬塔附近的霍比特人村,新西蘭北島 (© 500px Asia/Getty Images)','copyrightlink': 'https://www.bing.com/search?q=%E9%A9%AC%E5%A1%94%E9%A9%AC%E5%A1%94&form=hpcapt&mkt=zh-cn','title': '','quiz': '/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20200921_Matamata%22&FORM=HPQUIZ','wp': true,'hsh': 'fab9fa6464d63e134ae0415d9f67aac5','drk': 1,'top': 1,'bot': 1,'hs': []}],'tooltips': {'loading': '正在加載...','previous': '上一個圖像','next': '下一個圖像','walle': '此圖片不能下載用作壁紙。','walls': '下載今日美圖。僅限用作桌面壁紙。'}}

獲取到圖片地址后,就可以下載圖片了,再結合上面的代碼,加上下面的保存圖片代碼

# 獲取第一個圖片的鏈接image_url = result[’images’][0][’url’]# 拼接上bing的域名image_url = ’https://cn.bing.com’ + image_url# 定義圖片保存地址save_image_file = ’/opt/images/bing.jpg’# 下載圖片r = requests.get(url=image_url, headers=headers)# 注意要以二進制只寫打開文件with open(save_image_file, ’wb’) as f: # 圖片的二進制數據 f.write(r.content)

好了,圖片下載好并保存了,根據bing接口返回的數據,根據網友們的說法,最大可以獲得16張bing壁紙圖片,通過跳轉idx和n這兩個參數,有興趣可以試試,這里我就不再多說了,另外這個程序可以再做一些拓展,把多張bing壁紙保存下來。完整的代碼如下

#!/usr/bin/pythonimport requestsimport time# 時間戳timestamp = str(int(time.time() * 1000))# 拼接請求地址url = ’https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&nc=’ + timestamp + ’&pid=hp’# 請求頭,模擬瀏覽器UAheaders = { ’User-Agent’: ’ ’.join([’Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 14)’, ’AppleWebKit/537.36 (KHTML, like Gecko)’, ’Chrome/70.0.3538.102’, ’Safari/537.36’, ’Edge/18.18363’])}# 發送請求r = requests.get(url=url, headers=headers)# 將響應的字符串轉化為json數據,即dict類型result = r.json()# 獲取第一個圖片的鏈接image_url = result[’images’][0][’url’]# 拼接上bing的域名image_url = ’https://cn.bing.com’ + image_url# 定義圖片保存地址save_image_file = ’/opt/images/bing.jpg’# 下載圖片r = requests.get(url=image_url, headers=headers)# 注意要以二進制只寫打開文件with open(save_image_file, ’wb’) as f: # 圖片的二進制數據 f.write(r.content)

還有微軟官方也推出了bing壁紙的Windows版,不介意壁紙上有logo的話可以嘗試下,官方地址:

https://www.microsoft.com/en-us/bing/bing-wallpaper

如果能看到最后,或對你有幫助的話,歡迎在評論區留言一起交流。

以上就是Python 下載Bing壁紙的示例的詳細內容,更多關于Python 下載Bing壁紙的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 男女配种猛烈免费视频 | 一男一女的一级毛片 | 亚洲一级毛片在线观播放 | 日本毛片在线观看 | 国产高清视频免费在线观看 | 欧美国产精品亚洲精品第一区 | 一级毛片免费不卡 | 欧美一级永久免费毛片在线 | 国产日韩欧美在线 | 在线精品欧美日韩 | 亚洲综合在线观看视频 | 99色视频在线 | 日韩精品一区二区三区视频网 | 日本一区三区二区三区四区 | 韩国免费网站成人 | 欧美成人午夜不卡在线视频 | 亚洲国产精品ⅴa在线观看 亚洲国产精品aaa一区 | 欧美日韩精品一区二区三区不卡 | 免费一级欧美大片在线观看 | 欧美xxxxbbb | 成人网18免费网 | 亚洲精品欧美精品 | 国产综合精品久久久久成人影 | 成人欧美一级毛片免费观看 | 国产成人无精品久久久久国语 | 黄色毛片免费看 | 欧美日韩a级片 | 国产精品毛片无码 | 亚洲综合精品一二三区在线 | 欧美精品一区二区精品久久 | 成人免费小视频 | 在线一区视频 | 99国产视频 | 性做久久久久久久免费观看 | 国内精品2020情侣视频 | 天天噜夜夜操 | 久久国产热视频 | 久久免费精品视频在线观看 | 韩国19禁主播裸免费福利 | 欧美成在线视频 | 日本成人免费在线视频 |