首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python itchat模块在微信上的

Python itchat模块在微信上的

作者头像
py3study
发布2020-01-03 14:42:24
7970
发布2020-01-03 14:42:24
举报
文章被收录于专栏:python3python3

前两天在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********************
wKiom1jUWZWC9QcWAAOUbJJ94-E531.png
wKiom1jUWZWC9QcWAAOUbJJ94-E531.png
wKioL1jUWZODMdd0AAQPkuN3ykE822.png
wKioL1jUWZODMdd0AAQPkuN3ykE822.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档