亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python 下載Bing壁紙的示例

 更新時(shí)間:2020年09月29日 09:22:07   作者:DerWald  
這篇文章主要介紹了Python 下載Bing壁紙的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

這個(gè)示例使用的Python版本為3.7版本,

一、bing壁紙接口

訪問bing的官網(wǎng),通過瀏覽器開發(fā)者工具,查看網(wǎng)絡(luò)可以找到一個(gè)請(qǐng)求壁紙的接口,至于怎么判斷的,我是發(fā)現(xiàn)當(dāng)我把鼠標(biāo)放在切換壁紙的左右箭頭時(shí),發(fā)現(xiàn)發(fā)送了一個(gè)請(qǐng)求,查看請(qǐng)求里面是有當(dāng)前的壁紙信息的,鏈接、描述等等……

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

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

再結(jié)合網(wǎng)上收集的資料,可以找到鏈接上的參數(shù)解釋

參數(shù) 說明 可能的值
format 返回?cái)?shù)據(jù)格式,固定是json的 js
idx 倒數(shù)第幾天的壁紙,最大為7天內(nèi),正整數(shù)表示倒數(shù)第幾天 0,1,2 ... 7
n 一次獲取多少?gòu)垐D片,最大值為7 1,2 ... 7
nc 時(shí)間戳,以毫秒表示 1600743189543
pid 不知道這個(gè)參數(shù)有啥用 hp

二、Python程序

首先肯定是讀取接口的返回?cái)?shù)據(jù)了,這次使用的是requests框架,可以使用pip安裝

pip install requests

獲取壁紙json數(shù)據(jù)

#!/usr/bin/python
import requests
import time

# 時(shí)間戳
timestamp = str(int(time.time() * 1000))
# 拼接請(qǐng)求地址
url = 'https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&nc=' + timestamp + '&pid=hp'
# 請(qǐng)求頭,模擬瀏覽器UA
headers = {
  '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()

通過上面的請(qǐng)求接收到的json類似下面的格式,注意我們需要的圖片是在$.images[*].url這里,雖然沒寫完整的url,不過經(jīng)過嘗試也可以知道是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": "上一個(gè)圖像",
		"next": "下一個(gè)圖像",
		"walle": "此圖片不能下載用作壁紙。",
		"walls": "下載今日美圖。僅限用作桌面壁紙。"
	}
}

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

# 獲取第一個(gè)圖片的鏈接
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)
# 注意要以二進(jìn)制只寫打開文件
with open(save_image_file, 'wb') as f:
  # 圖片的二進(jìn)制數(shù)據(jù)
  f.write(r.content)

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

#!/usr/bin/python
import requests
import time

# 時(shí)間戳
timestamp = str(int(time.time() * 1000))
# 拼接請(qǐng)求地址
url = 'https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&nc=' + timestamp + '&pid=hp'
# 請(qǐng)求頭,模擬瀏覽器UA
headers = {
  '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'])
}
# 發(fā)送請(qǐng)求
r = requests.get(url=url, headers=headers)
# 將響應(yīng)的字符串轉(zhuǎn)化為json數(shù)據(jù),即dict類型
result = r.json()
# 獲取第一個(gè)圖片的鏈接
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)
# 注意要以二進(jìn)制只寫打開文件
with open(save_image_file, 'wb') as f:
  # 圖片的二進(jìn)制數(shù)據(jù)
  f.write(r.content)

還有微軟官方也推出了bing壁紙的Windows版,不介意壁紙上有l(wèi)ogo的話可以嘗試下,官方地址:

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

如果能看到最后,或?qū)δ阌袔椭脑?,歡迎在評(píng)論區(qū)留言一起交流。

以上就是Python 下載Bing壁紙的示例的詳細(xì)內(nèi)容,更多關(guān)于Python 下載Bing壁紙的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python列表元素拼接成字符串的4種方法

    python列表元素拼接成字符串的4種方法

    本文主要介紹了python列表元素拼接成字符串的4種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • django 環(huán)境變量配置過程詳解

    django 環(huán)境變量配置過程詳解

    這篇文章主要介紹了django 環(huán)境變量配置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python+OpenCV實(shí)戰(zhàn)之利用?K-Means?聚類進(jìn)行色彩量化

    Python+OpenCV實(shí)戰(zhàn)之利用?K-Means?聚類進(jìn)行色彩量化

    這篇文章主要介紹了如何利用?K-Means?聚類進(jìn)行色彩量化,以減少圖像中顏色數(shù)量。文中的代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以關(guān)注一下
    2021-12-12
  • Python利用memory_profiler實(shí)現(xiàn)內(nèi)存分析

    Python利用memory_profiler實(shí)現(xiàn)內(nèi)存分析

    memory_profiler是第三方模塊,用于監(jiān)視進(jìn)程的內(nèi)存消耗以及python程序內(nèi)存消耗的逐行分析。本文將利用memory_profiler實(shí)現(xiàn)內(nèi)存分析,需要的可以參考一下
    2022-10-10
  • 用python編寫一個(gè)圖片拼接工具

    用python編寫一個(gè)圖片拼接工具

    大家好,本篇文章主要講的是用python編寫一個(gè)圖片拼接工具,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Python生成可執(zhí)行文件.exe操作完整流程記錄

    Python生成可執(zhí)行文件.exe操作完整流程記錄

    .exe是文件擴(kuò)展名,帶有.exe擴(kuò)展名的文件名按下Enter鍵就可運(yùn)行,這篇文章主要給大家介紹了關(guān)于Python生成可執(zhí)行文件.exe操作完整流程的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • python itchat實(shí)現(xiàn)調(diào)用微信接口的第三方模塊方法

    python itchat實(shí)現(xiàn)調(diào)用微信接口的第三方模塊方法

    這篇文章主要介紹了python itchat實(shí)現(xiàn)調(diào)用微信接口的第三方模塊方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python使用Selenium實(shí)現(xiàn)淘寶搶單的流程分析

    Python使用Selenium實(shí)現(xiàn)淘寶搶單的流程分析

    這篇文章主要介紹了Python使用Selenium實(shí)現(xiàn)淘寶搶單的流程分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python csv一些基本操作總結(jié)

    python csv一些基本操作總結(jié)

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識(shí),文章圍繞著python csv的一些基本操作展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • pandas統(tǒng)計(jì)重復(fù)值次數(shù)的方法實(shí)現(xiàn)

    pandas統(tǒng)計(jì)重復(fù)值次數(shù)的方法實(shí)現(xiàn)

    這篇文章主要介紹了pandas統(tǒng)計(jì)重復(fù)值次數(shù)的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評(píng)論