想法起因
每天面对电脑屏幕同样的壁纸未免太过枯燥,由于平时搜索多用必应(Bing),见到每天必应首页的图片真的很好看,一来想保存下来,二来顺便可以做壁纸呀。
代码
# -*- coding: utf-8 -*-
"""
Created on Wed Oct 24 13:42:02 2018
@author: cxzhou
"""
import urllib.request
import requests
import os.path
import ctypes
import time
import datetime
def save_img(img_url,dirname):
#保存图片到磁盘文件夹dirname中
try:
if not os.path.exists(dirname):
print ('文件夹',dirname,'不存在,重新建立')
#os.mkdir(dirname)
os.makedirs(dirname)
#获得图片文件名,包括后缀
today = datetime.date.today()
# print(today)
basename = os.path.basename(str(today)+'.jpg')
#print(basename)
#拼接目录与文件名,得到图片路径
filepath = os.path.join(dirname, basename)
# print(filepath)
#下载图片,并保存到文件夹中
urllib.request.urlretrieve(img_url,filepath)
print('get')
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?daysAgo=-1"):
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 = "F:\\wallpaper" # 图片要被保存在的位置
img_url = get_img_url()
filepath = save_img(img_url, dirname) # 图片文件的的路径
set_img_as_wallpaper(filepath)
main()
使用教程
1、将上述代码中“图片要被保存的位置”依据个人喜好进行修改,便可以将必应首页图片进行下载保存了
2、将代码文件设置为windows任务,每天固定时刻运行,就可以每天换壁纸啦!
添加每日任务
1、打开小娜,键入“任务”,选择“任务计划程序”
2、选择右上部分“创建任务”
3、“常规”中取一个自己喜欢的名字
4、“触发器”中选择“新建”,可以设定在哪天几点运行,我是在每天早上6点。
5、“操作”中“新建”,依次选择操作类型为“启动程序”,并选择代码位置。搞定!
成果
给大家看一看我一年来的成果吧:
喜欢的话帮忙点个赞哦,感谢!