用python每日更換“必應(yīng)圖片”為“桌面壁紙”

不少同學(xué)都知道,必應(yīng)每天都會更新壁紙,都十分漂亮,有時候還十分驚艷,同時還會根據(jù)每個地區(qū)的特色應(yīng)用不同的壁紙。
那么,如何讓自己的電腦每天同步必應(yīng)每日圖片作為桌面背景呢?
下面用python腳本抓取必應(yīng)每日圖片,并實現(xiàn)桌面壁紙的每天自動切換。
思路整理??
1、通過網(wǎng)頁,獲取圖片地址
2、保存圖片到絕對路徑
3、設(shè)置該絕對路徑所指向的圖片為壁紙
4、批處理壁紙自動切換
需要用到的模塊如下:
import?urllib.request
import?requests
import?os.path
import?ctypes
第一、
獲取圖片地址?
這個函數(shù)主要通過requests模塊,根據(jù)必應(yīng)的網(wǎng)頁地址,獲取到當(dāng)日圖片的最終img地址。
#?請求網(wǎng)頁,跳轉(zhuǎn)到最終?img?地址
def?get_img_url(raw_img_url="https://area.sinaapp.com/bingImg/"):
????r?=?requests.get(raw_img_url)
????img_url?=?r.url??#?得到圖片文件的網(wǎng)址
????print('img_url:',?img_url)
????return?img_url
第二、
保存圖片到本地?
這個函數(shù)的作用就是把圖片保存到你自己設(shè)置的一個目錄下,并返回當(dāng)前目錄的絕對地址。
def?save_img(img_url,?dirname):
????#?保存圖片到磁盤文件夾dirname中
????try:
????????if?not?os.path.exists(dirname):
????????????print('文件夾',?dirname,?'不存在,重新建立')
????????????#?os.mkdir(dirname)
????????????os.makedirs(dirname)
????????#?獲得圖片文件名,包括后綴
????????basename?=?"bing.jpg"
????????#?拼接目錄與文件名,得到圖片路徑
????????filepath?=?os.path.join(dirname,?basename)
????????#?下載圖片,并保存到文件夾中
????????urllib.request.urlretrieve(img_url,?filepath)
????except?IOError?as?e:
????????print('文件操作失敗',?e)
????except?Exception?as?e:
????????print('錯誤?:',?e)
????print("Save",?filepath,?"successfully!")
????return?filepath
第三、
設(shè)置該絕對路徑所指向的圖片為壁紙?
通過之前獲得的圖片所在的絕對路徑,把該圖片設(shè)置為桌面壁紙。
def?set_img_as_wallpaper(filepath):
????ctypes.windll.user32.SystemParametersInfoW(20,?0,?filepath,?0)
第四、
運行代碼的main函數(shù)?
def?main():
????dirname?=?"D:\\bingImg"??#?圖片要被保存在的位置
????img_url?=?get_img_url()
????filepath?=?save_img(img_url,?dirname)??#?圖片文件的路徑
????set_img_as_wallpaper(filepath)
運行效果(此時,可以回看一下文章首圖中的左上角那張圖片)

第五、
批處理自動更換壁紙?
此時,可以在python腳本的同一目錄下創(chuàng)建名為py_bingying.bat的批處理文件,批處理內(nèi)容如下:
@echo?off
del?g:\bingImg\*.jpg
python?SetBingImgAsWallpaper.py
如何實現(xiàn)壁紙的自動切換呢,這里采用開機運行上面的批處理程序的方法。
復(fù)制上面創(chuàng)建的批處理文件,到下方目錄下,右鍵-粘貼為快捷方式。這樣就實現(xiàn)了開機啟動批處理程序,自動清除和更新壁紙。
C:\User\yourname\AppData\Roaming\Microsoft\Windows\開始菜單\程序\啟動
每次開機都執(zhí)行一遍更換壁紙的操作還不夠完美的話,可以用Windows任務(wù)計劃程序來添加任務(wù),設(shè)置每天指定時間點運行批處理程序。
獲取全部源碼,鏈接:必應(yīng)壁紙自動更新:鏈接:https://pan.baidu.com/s/16GsSbfyLICRvX3o2OnkjkA提取碼:7x48
-END-
Excel VS Python 誰更適合數(shù)據(jù)分析?
END
關(guān)注【程序IT圈】,更多的Python好文輸出

