import urllib.request
import requests
import os.path
import ctypes
def save_img(img_url,dirname):
#儲存圖檔到磁盤檔案夾dirname中
try:
if not os.path.exists(dirname):
print ('檔案夾',dirname,'不存在,重建立立')
#os.mkdir(dirname)
os.makedirs(dirname)
#獲得圖檔檔案名,包括字尾
basename = "bingImage.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
# 請求網頁,跳轉到最終 img 位址
def get_img_url(raw_img_url = "https://area.sinaapp.com/bingImg/"):
r = requests.get(raw_img_url)
img_url = r.url # 得到圖檔檔案的網址
print('img_url:', img_url)
return img_url
# 設定圖檔絕對路徑 filepath 所指向的圖檔為桌面
def set_img_as_wallpaper(filepath):
ctypes.windll.user32.SystemParametersInfoW(20, 0, filepath, 0)
def main():
dirname = "C:\\Users\\17806\\Pictures\\bing" # 圖檔要被儲存在的位置
img_url = get_img_url()
filepath = save_img(img_url, dirname) # 圖檔檔案的的路徑
set_img_as_wallpaper(filepath)
main()