定时向QQ推送天气消息
前言
本文主要使用的是 1,API接口推送服务 2,Python requests 模块
提示:本文仅提供娱乐,学习使用。如有侵权请联系删除。
一、QQpusher介绍
1,简介
简述
2,使用步骤
- 到官网的后台页面扫描二维码登录-----
- 登录进去以后从页面里面获取Token (后面代码里面有用)
- 可以进入到官网提供的
二、详细代码
项目介绍
主要代码部分介绍
爬取天气信息
创建定时任务
def createTheTimeProcess(date):
"""
创建一个线程指定时间发生消息(特定时间发送)
:param date: 指定的时间 小时
:return:
"""
now = time.localtime(time.time())
# 获取时间差
StepTime = int(time.mktime(time.strptime({}-{}-{} {}:00:00.format(now.tm_year, now.tm_mon, now.tm_mday, date),
%Y-%m-%d %H:%M:%S))) - int(time.time())
process = Timer(StepTime, sendTheTime)
process.start()
tolog("[{}]:设置了一个{}({})秒后的日程。".format(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), StepTime, date))
def createNightTimeProcess(date=22):
"""
创建一个线程指定时间发生消息(晚上发送 默认22点)
:param date: 指定的时间 小时
:return:
"""
now = time.localtime(time.time())
# 获取时间差
StepTime = int(time.mktime(time.strptime({}-{}-{} {}:00:00.format(now.tm_year, now.tm_mon, now.tm_mday, date),
%Y-%m-%d %H:%M:%S))) - int(time.time())
t4 = Timer(StepTime, sendNight)
t4.start()
tolog("[{}]:设置了一个{}({})秒后的日程。".format(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), StepTime, date))
主调程序
def mains():
# 消息启动通知
sendStart()
tolog("程序开始......")
# 先根据当前程序的启动时间判断 然后启动接下来时间的消息推送
now = time.localtime(time.time())
nowH = now.tm_hour
if 1 < nowH < 22:
tolog("即将设置今天接下来的定时任务。")
if nowH < 7:
createTheTimeProcess(7)
createTheTimeProcess(13)
createTheTimeProcess(17)
createNightTimeProcess()
elif nowH < 13:
createTheTimeProcess(13)
createTheTimeProcess(17)
createNightTimeProcess()
elif nowH < 17:
createTheTimeProcess(17)
createNightTimeProcess()
else:
# createNightTimeProcess(18)
createNightTimeProcess()
while True:
nowH = time.localtime(time.time()).tm_hour
nowM = time.localtime(time.time()).tm_min
# 判断时间是否为新一天的开始 如果是 开启今天的消息推送
if nowH == 0 and nowM == 1:
tolog("开始今天的定时任务!")
createTheTimeProcess(7)
createTheTimeProcess(13)
createTheTimeProcess(17)
createNightTimeProcess()
# 每四十秒执行一次以防止每分钟只可以执行一次
time.sleep(40)
