起因
想要给Ubuntu更换好看一点的壁纸,于是就想到了搜索主页:bing.com的美图。那真是让人印象深刻啊!
根据我自己的经验,差不多一天能看到bing主页上换一次图片,所以很明显电脑应该有规律的为我一天下载2次bing上的图片。
查了一下网上的资料,发现crontab能很好的满足这一要求。于是查了到了这一篇文章,讲解非常的详细。
我的思路是先写个python的文件用来做主要的下载工作,毕竟python语言好学且经常用到。然后通过crontab用命令行语言来定时的调用python文件执行我的下载命令。
根据自己的一些经验,写了一个python的文件用来下载美图到壁纸文件夹,保存为get_bing_pictures.py:
import requests
import re
# 设置保存图片的文件夹地址
save_path="/home/huang/图片/壁纸/"
# 设置必应的英文主页地址
web_address="https://cn.bing.com/?ensearch=1"
# 访问主页地址
request=requests.get(web_address)
if request.status_code==200:
# 如果返回成功,那么就找到背景图片的网络地址
image_url=re.match(r'.* style="background-image: url\((.*?)\&.*',str(request.content,'UTF-8')).group(1)
picture_name=re.match(r'.*id=(.*)',image_url).group(1)
picture_req=requests.request(url=image_url,method='get')
file_name=save_path+picture_name
# 写入图片文件
with open(file_name,"wb") as f:
f.write(picture_req.content)
f.close()
然后根据文章的指导设置crontab:
# 看自己有没有crontab在运行
crontab -l
# 编辑自己的crontab
crontab -e
# 进入文件后的设置
* */12 * * * python3 get_bing_pictures.py
经过
下面是我完成这一设想的整个过程的截图: