学了python大概两周了,今天做了个小程序,感觉还比较实用。在此记录一下
程序介绍
功能介绍:每隔30分钟,随机更换桌面。桌面资源是在zol网,自动爬取的热门图片
开机自启设置:发送changeBg.exe快捷方式到 C:\用户\用户名\AppData\Roaming\Microsoft\Windows\「开始」菜单\程序\启动文件夹
如果遇到不喜欢的图片,想要立即更换,则需要先杀死程序,再重新启动。程序每次启动时,都会立即更换一张背景图。
关闭程序:本程序是后台程序,不提供用户界面。所以关闭需要打开任务管理器,在任务管理器中找到changeBg的任务,并结束。
人生就像这个壁纸小程序,你永远也不知道下一张的壁纸长什么样。无意间的才叫惊喜
程序大致思路 :
爬取zol网上的热门图片链接,并存到数据库。每隔三十分钟获取图片链接,下载图片并设置背景图片。
刚开始学python,类的运用还不时很熟练,所以用文件的形式来编写
main 文件 负责各个模块的调用,主要逻辑
import getBgUrls import fileUtils import threading import SetBg import random import db import time def setBgUrl(): #睡五秒钟,等待另一个线程爬取图片utl 这样可以运行程序,立即更换桌面 time.sleep(5) print('setBgUrl has executed') pic_urls = getBgUrls.pic_urls if len(pic_urls) > 0: abs_path = fileUtils.save_file(random.choice(pic_urls)) SetBg.set_wallpaper(abs_path) #每小时换一次 threading.Timer(60*30,setBgUrl).start() if __name__ == '__main__': times = db.getStartTimes() #第一次使用本程序 调用存储到数据库的爬虫 if times == 0 : t1 = threading.Thread(target=getBgUrls.get_pic_urls_to_db).start() elif times <= 10: #如果数据库的数据url长度为0,证明中途被打断,没有插入成功,需要重新开始 urls = db.getUrls() if len(urls) == 0: t1 =