必应搜索官网每天都会选取一幅高清美图作为背景,如何让自己的电脑每天同步必应每日图片作为桌面背景呢?
下面用python脚本抓取必应每日图片的方法,实现桌面壁纸的每天自动切换。
- 首先确保电脑安装了python,并且安装了requests模块,安装方法自行必应(python3默认安装了pip,这时只需在cmd中
pip install requests
即可安装requests)。 - 新建文本文件,保存为SetBingImageAsWallpaper.py ,脚本内容如下:
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 = os.path.basename(img_url)
#拼接目录与文件名,得到图片路径
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 = "g:\\bingImg" # 图片要被保存在的位置
img_url = get_img_url()
filepath = save_img(img_url, dirname) # 图片文件的的路径
set_img_as_wallpaper(filepath)
main()
其中你只需更改倒数第5行图片的保存位置。
注:本脚本程序copy自https://blog.csdn.net/icevmj/article/details/78890552若侵权联系删
- 在python脚本的同一目录下创建名为Py_BingImg.bat的批处理文件,批处理内容如下:
@echo off
del g:\bingImg\*.jpg
python SetBingImgAsWallpaper.py
第二行在运行python脚本前先删除前一天下载的必应图片,这样就实现了旧壁纸的每日清理,最大限度节省了存储空间。第三行为运行上面的python脚本。
- 如何实现壁纸的自动切换呢,这里采用开机运行上面的批处理程序的方法。
复制上面创建的批处理文件,到C:\User\yourname\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动
目录下,右键-粘贴为快捷方式。这样就实现了开机启动批处理程序,自动清除和更新壁纸。
(每次开机都执行一遍更换壁纸的操作还不够完美,可以用Windows任务计划程序来添加任务,设置每天指定时间点运行批处理程序)
网友评论