Python itchat模块在微信上的各种小应用
前两天在51cto看见某篇推荐博文,大概是一个Python的小程序可以读取微信撤回的信息。豆子比较感兴趣,在知乎和github上搜索了相关的源代码,发现原来实现起来非常的简单,他的核心是使用一个叫做itchat的模块,这个模块模拟微信网页版的登录过程,然后之后就可以很轻松读取和发送信息了。
第一次使用的时候可能对他的格式有点疑惑,但是写两个小例子之后就比较熟悉这些模块里面的函数了,可以很容易地对好友,群聊和公众号的各种类型的信息进行读取,存储,写入。完全可以发挥想象在这个平台上做很多操作。
网上有很多相关的简介和有趣的应用小程序,这些小程序大小不超过百行,但是功能都很有趣
http://itchat.readthedocs.io/zh/latest/#itchat
比较有趣的小程序有:
图灵机器人自动对话,你甚至可以直接绑定这个API和某人甚至某群聊,这样对方和你交流的时候,图灵机器人都会替你自动回复啦
http://itchat.readthedocs.io/zh/latest/tutorial/tutorial0/
网易云音乐播放器,消息群发,检测黑名单好友等等
https://itchat.readthedocs.io/zh/latest/tutorial/tutorial2/
读取微信撤回的信息等等
https://zhuanlan.zhihu.com/p/25689314
豆子依葫芦画瓢,也弄了个类似的,可以通过微信获取城市PM2.5的状态
源代码很简单:
微信发送城市的名称,获取之后,读取www.pm25.com上面的数据,然后把结果发给微信
import urllib.request from time import ctime from bs4 import BeautifulSoup import itchat def getPM25(cityname): site = 'http://www.pm25.com/' + cityname + '.html' page = urllib.request.urlopen(site) html = page.read(); soup = BeautifulSoup(html.decode("utf-8"),"html.parser") city = soup.find(class_='bi_loaction_city') # 城市名称 aqi = soup.find("a", {"class", "bi_aqiarea_num"}) # AQI指数 quality = soup.select(".bi_aqiarea_right span") # 空气质量等级 result = soup.find("div", class_='bi_aqiarea_bottom') # 空气质量描述 output=city.text + u'AQI指数:' + aqi.text + u'\n空气质量:' + quality[0].text + result.text print(output) print('*' * 20 + ctime() + '*' * 20) return output itchat.auto_login(hotReload=True) Help=""" 友情提示: 请输入城市拼音获取天气结果,如果无法识别,自动返回首都记录 """ itchat.send(Help,toUserName='filehelper') @itchat.msg_register(itchat.content.TEXT) def getcity(msg): if msg['ToUserName'] != 'filehelper': return print(msg['Text']) cityname=msg['Text'] result=getPM25(cityname) itchat.send(result,'filehelper') if __name__ == '__main__': itchat.run() ------------------------- Chongqing 重庆AQI指数:45 空气质量:优 PM2.5浓度:31微克/立方米 击败了全国 70% 的城市,目前城市排名 110 ********************Fri Mar 24 09:57:49 2017******************** Xichang 西昌AQI指数:25 空气质量:优 暂未统计PM2.5 ********************Fri Mar 24 09:58:21 2017********************
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MongoDB慢日志查询
MongoDB system.profile 前言 Part1:写在最前 说到MongoDB的慢日志分析,就不得不提到profile分析器,profile分析器将记录的慢日志写到system.profile集合下,这个集合是一个固定集合。我们可以通过对这个集合的查询,来了解当前的慢日志,进而对数据库进行优化。 Part2:整体环境 MongoDB3.2.5 实战 Part1:输出示范 在查询system.profile的时候,我们能够观察到所有的操作,包括remove,update,find等等都会被记录到system.profile集合中,该集合中包含了诸多信息,如: { "op":"query", "ns":"test.c", "query":{ "find":"c", "filter":{ "a":1 } }, "keysExamined":2, "docsExamined":2, "cursorExhausted":true, "keyUpdates":0, "writeConflicts":0, "numYield":0, "locks":{ "Global":{ "acqu...
- 下一篇
电商项目总结
最近一段时间刚刚学习了一些新的知识,就想拿个项目练练手,然后就在网上找了一个培训的电商项目练习了一下,做了之后学到了很多,学到了项目的很多流程,在这里总结一下。 一、项目介绍: 网上商城项目,用于建立网上终端、营销案在线销售及相关辅助功能,后台包含商品管理、订单管理、类目管理、客户管理、合作商管理、客服管理、支付平台、内容管理等,很大程度上分担了人工的压力,前台包括个人中心,购物车,商城首页,频道页,商品详情页,提交订单页,支付页面等页面构成,对提高客户服务效率和客户满意度能够起到较好的作用。 二、项目所用技术: 1、Jsp,freemarker,jQuery,css+div,jstl标签,fckEditor, struts-menu 2、Springmvc,spring,mybatis 3、Webservice框架cxf 4、Jersey搭建图片服务器 5、Maven,svn,hudson 6、Oracle 三、开发环境: 1、Eclipse4.3 2、Tomcat7.0 3、Jdk1.7 4、Oracle10g 5、Maven3.1.5 6、Svn 7、hudson 四、系统架构...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- 设置Eclipse缩进为4个空格,增强代码规范
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作