1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python 给QQ好友定时发送消息

python 给QQ好友定时发送消息

时间:2020-01-30 06:36:48

相关推荐

python 给QQ好友定时发送消息

python 给QQ好友定时发送消息

前言初衷代码效果后记

前言

在小编的上一篇python文章中提到了关于微信或者QQ的消息“轰炸”(其实我是想你也去看看,23333 [狗头保命]),那是简单版本,今天我要讲的是,发送消息定时任务的结合体。

初衷

看到网上有很多大神用python给女友每天给女朋友发送“糖衣炮弹”,我酸了(给自己一个大嘴巴子,在码代码的时候怎么能想这些,再说了,我的对象千千万,new一个对象就有了,哈哈哈),作为一个程序猿我想实现这一功能,准备工作:

python3+ ,开发环境;安装pywin32, pip install pywin32 用于控制window应用;安装requests, pip install requests 这个模块是用来网上找“糖衣炮弹”;安装APScheduler, pip install APScheduler 用于定时任务;安装fake-useragent, pipi install fake-useragent 这个用于网上抓取伪装header 里面的User_Agent(爬虫常用);网上的“糖衣炮弹”资源,小编用的青云客机器人(api免费)查询天气;

代码

此版本是用的QQ对话测试的,需要将聊天对象对话框,单独出来(现在版本的QQ都是多个对话框在一起的)

# !user/bin/env/python3# -*- coding:utf-8 -*-__author__ = 'heyu<18781085152@>'__date__ = '/5/14'import win32guiimport win32conimport win32clipboard as wimport requests,re,timefrom fake_useragent import UserAgentfrom apscheduler.schedulers.blocking import BlockingScheduler'''添加剪切板文本'''def setText(string):w.OpenClipboard() w.EmptyClipboard()w.SetClipboardData(win32con.CF_UNICODETEXT,string)w.CloseClipboard()'''执行发送操作''''''to:QQ消息接收人;msg:需要发送的消息'''def sendMsg(to,msg):setText(msg)qq = win32gui.FindWindow(None,to)win32gui.SendMessage(qq,258,22,2080193)win32gui.SendMessage(qq,770,0,0)win32gui.SendMessage(qq,win32con.WM_KEYDOWN,win32con.VK_RETURN,0) # 控制按键,按下win32gui.SendMessage(qq,win32con.WM_KEYUP,win32con.VK_RETURN,0) # 控制按键,放松'''青云客机器人(免费api)'''def qyk(msg):url = '/api.php?key=free&appid=0&msg=' + msgua = UserAgent()headers = {'User_Agent': ua.random # 伪装User_Agent信息}response = requests.get(url=url,headers = headers)response.encoding = 'utf-8'text = response.textinfo = re.findall(r'\"\[.*?\"',text)weather = info[0].replace('"','')return weather'''定时任务'''def timingJob(to,msg):scheduler = BlockingScheduler() # 创建调度器scheduler.add_job(sendMsg,'interval',seconds=30,args = [to,msg]) # interval间隔,10s# scheduler.add_job(sendMsg,'cron',hour='22-23',minute='49',second='*/10',args = [to,msg]) # cron定时,10sscheduler.start() # 开启定时任务if __name__ == '__main__':to = input('请填写解接收人QQ :')msg = qyk('重庆天气')timingJob(to,msg)

效果

后记

青云客的机器人是个“智障”,目前应该还是测试收集数据阶段,所以有很多逻辑不全面(不然怎么是免费的呢,还是给青云客的机器人开发人员点个赞)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。