10分钟教你用Python打造天气机器人+关键字自动回复+定时发送
01 前言
Hello,各位小伙伴。自上次我们介绍了Python实现天气预报的功能以后,那个小程序还有诸多不完善的地方,今天,我们再次来完善一下我们的小程序。比如我们想给机器人发“天气”等关键字,它就自动获取天气发送给我们,或者准点准时给我们发送天气预报等消息。
02 先来看看效果
后台登录效果:
微信关键字回复:
怎样,心动吗?废话不多说,开始干活吧。
03 关键字回复
前面我们已经实现了天气的获取和发送,现在来利用itchat的几个功能,实现关键词的提取和发送相关信息吧。
在这里呢,我们需要写一个函数装饰一下
1itchat.msg_register([TEXT])这个函数,表示收到消息以后,额外执行一些我们期望执行的操作。(不了解修饰器的同学自己再回去补一下基础)。
2# 如果对方发的是文字,则我们给对方回复以下的东西
3@itchat.msg_register([TEXT])
4def text_reply(msg):
5 match = re.search('天气',msg['Text'])
6 if match:
7 city = msg['Text'][msg['Text'].find("+")+1:]
8 weather_main(msg['FromUserName'], city)
这部分操作也很简单,首先获取我们收到的文本消息,然后在里面找找看有没有我们想要的关键词,比如“天气”等,最后,将天气后面的城市给提取出来,获取必要的信息后,将发信人,城市传给上节课写好的weather_main()函数里面,实现消息发送。当然,上节课的weather_main()也要做相应修改,不过改动不大,大家看最后代码即可。
04 定时发送
然后再来看看定时发送的功能吧。这个功能就比较简单了,一个sleep函数睡到底就行。主要是设置隔多长时间给想关的人发送天气预报。
1def timer(n):
2 '''''
3 每n秒执行一次
4 '''
5 while True:
6 weather_main("要发送的人备注", "城市") # 此处为要执行的任务
7 time.sleep(n)
比较简单吧。
05 完整代码
欲获取代码,请关注我们的微信公众号【程序猿声】,在后台回复:pycode05。即可获取。
微信公众号
推荐文章:10分钟教你用Python做个打飞机小游戏超详细教程
推荐文章:10分钟教你用python下载和拼接微信好友头像图片
10分钟教你用Python打造天气机器人+关键字自动回复+定时发送的更多相关文章
- 【python】10分钟教你用python打造贪吃蛇超详细教程
10分钟教你用python打造贪吃蛇超详细教程 在家闲着没妹子约, 刚好最近又学了一下python,听说pygame挺好玩的.今天就在家研究一下, 弄了个贪吃蛇出来.希望大家喜欢. 先看程序效果: 0 ...
- 10分钟教你用Python打造微信天气预报机器人
01 前言 最近武汉的天气越来越恶劣了.动不动就下雨,所以,拥有一款好的天气预报工具,对于我们大学生来说,还真是挺重要的了.好了,自己动手,丰衣足食,我们来用Python打造一个天气预报的微信机器人吧 ...
- “猜你喜欢”的背后揭秘--10分钟教你用Python打造推荐系统
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 话说,最近的瓜实在有点多,从我科校友李雨桐怒锤某男.陈羽凡吸毒被捕.蒋劲夫家暴的三连瓜,到不知知网翟博士,再到邓紫棋解约蜂鸟.王思聪花千芳隔 ...
- 【python】10分钟教你用python下载和拼接微信好友头像图片
前言 相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面小编就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就 ...
- 【python】10分钟教你用python如何正确把妹
前言 今天没妹子约,刚好研究一下.如何用神奇的python打造一个把妹神器吧.看完这个,你们就能走向人生巅峰,迎娶白富美啦. 我知道你们想看看效果 image 当然啦,这只是测试版的效果,真正的版本可 ...
- 10分钟教你用Python玩转微信之好友性别比例统计分析
01 前言+效果展示 想必,微信对于大家来说,是再熟悉不过的了.那么,大家想不想探索一下微信上的各种奥秘呢?今天,我们一起来简单分析一下微信上的好友性别比例吧~废话不多说,开始干活. 结果如下: 02 ...
- 10分钟教你用Python玩转微信之抓取好友个性签名制作词云
01 前言+展示 各位小伙伴我又来啦.今天带大家玩点好玩的东西,用Python抓取我们的微信好友个性签名,然后制作词云.怎样,有趣吧~好了,下面开始干活.我知道你们还是想先看看效果的. 后台登录: 词 ...
- 【python】10分钟教你用python一行代码搞点大新闻
准备 相信各位对python的语言简洁已经深有领会了.那么,今天就带大家一探究竟.看看一行python代码究竟能干些什么大新闻.赶紧抄起手中的家伙,跟我来试试吧. 首先你得先在命令行进入python. ...
- 10分钟教你用Python实现微信自动回复
01 前言&&效果展示 相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息.但微信又不能像QQ一样设置自动回复.无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把 ...
随机推荐
- for 续2
--------siwuxie095 (二)skip=n 忽略(屏蔽.隐藏)文本前 N 行的内容. (N 必须大于 0,不能等于 0) 格式: FOR /F " ...
- PHP 文件处理(综合)
1.获取远程文件大小:php获得远程文件大小的函数php获得远程文件大小的函数文件的大小函数为:filesize()文件是否存在的函数为:file_exits();但是这两个函数只针对本地那么:远程文 ...
- Java核心技术-泛型程序设计
使用泛型机制编写的代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性. 泛型对于集合类尤其有用 1 为什么要使用泛型程序设计 泛型程序设计意味着编写的代码可以 ...
- 如何快速简单粗暴地理解Python中的if __name__ == '__main__'
1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...
- 使screen支持滚动
在Linux中,常用的串口工具有minicom和screen,minicom可能使用得比较多,但是我比较喜欢screen,因为它的输出是彩色的,更舒服.更能突出重点. 使用screen来打开串口也非常 ...
- 解决Springboot集成ActivitiModel提示输入用户名密码的问题
一.原因分析 先要知道两点 - SpringBoot会根据引入的Jar包而自动配置相应的功能. - ActivitiModeler中引用了Spring Security的Jar.(是一个安全或者说权限 ...
- 38-解决Fiddler查看Post参数中文乱码的问题
转载自:https://blog.csdn.net/JusterDu/article/details/50888617 解决Fiddler查看Post参数中文乱码的问题 2016年03月14日 18: ...
- Halcon中xld的常见特征的含义总结
如下图:
- Display PDF in browser | Acrobat, Reader XI
点这个链接查看详细的解决办法 http://helpx.adobe.com/acrobat/using/display-pdf-browser-acrobat-xi.html When you cli ...
- C# HttpClient 请求转发
最近在做一个项目,需要用到别人的接口,但是遇到一个问题,这个接口只能在服务器上访问,不支持外网访问,这让人有点头疼,本地开发没有对应的环境,不好调试,写好代码封装好发布到服务器,在进行前期测试太麻烦了 ...