Python实现微信好友签名词云的构建(itchat、jieba、wordcloud)
来源:互联网 发布:知乎日报吐槽合集 编辑:程序博客网 时间:2024/06/05 06:32
最近Python操作微信的文章挺火的,结合前面介绍过的jieba
和wordcloud
做一个简单的微信好友签名的词云。
操作微信的库有很多,现在比较流行的就是itchat
,https://github.com/littlecodersh/ItChat
这个库对网页微信进行了封装,很多操作都非常简单。
代码如下,一些要点直接写在注释中
其中停用词表stopwords.txt
需要自己构建,字体文件需要自己指定。
# coding: utf8import sysreload(sys)sys.setdefaultencoding('utf-8')'''用户登录部分:用户扫码登录,并自动保存一段时间登录状态,登录状态保存在同目录下的itchat.pkl文件中。'''import itchatitchat.auto_login(hotReload=True)itchat.dump_login_status()'''获取签名部分:获取好友列表,好友列表类型为列表,列表中每一个元素(用户)都是一个字典,字典中包含了用户的各种信息,Signature为签名。get_friends得到的列表中第一个元素为用户自己,排除掉。'''friends = itchat.get_friends(update=True)[:]signature_list = [friend["Signature"] for friend in friends[1:]]'''分词部分:导入结巴分词,首先将所有好友的签名拼接为一个字符串,然后进行分词,再根据事先建立好的停用词表对分词结果进行过滤,最终使用Counter形成分词结果的频率字典'''import jiebafrom collections import Countersignature_text = "".join(signature_list)signature_text = signature_text.replace("span","").replace("class","" ).replace("emoji","")stop_words = {}.fromkeys([ line.rstrip().decode('utf-8' ) for line in open('stopwords.txt') ])signature_wordlist = [word for word in jieba.cut(signature_text, cut_all=True ) if word not in stop_words] word_counter = Counter(signature_wordlist)'''词云部分:将结巴分词生成的分词频率字典传递给wordcloud生成词云,字体可以自定义,例子中设为同目录下的YaHei Consolas Hybrid.ttf字体'''import matplotlib.pyplot as pltimport PIL.Image as Imagefrom wordcloud import WordCloudmy_wordcloud = WordCloud(background_color="white", font_path="YaHei Consolas Hybrid.ttf" ).generate_from_frequencies(word_counter)plt.imshow(my_wordcloud)plt.axis("off")plt.show()
结果如下
阅读全文
1 0
- Python实现微信好友签名词云的构建(itchat、jieba、wordcloud)
- 使用python抓取微信好友个性签名并形成词云(itchat;wordcloud)
- 【Python3.6】生成微信好友个性签名词云
- [python]如何生成微信中好友签名词云
- Python微信好友信息意义及取值分析(基于itchat)
- python itchat实现微信自动回复
- python实现微信接口(itchat)
- python实现微信接口(itchat)
- python 微信 itchat
- python微信模块 itchat
- Python 使用itchat 对微信好友数据进行简单分析
- python运用jieba和wordcloud库简单实现对QQ聊天记录制作词云
- Python学习之jieba、wordcloud
- Python和微信之获取好友昵称并制作wordcloud
- itchat 实现简单的微信控制电脑
- Python数据可视化:WordCloud词云的构建
- 微信 聊天 机器人 python itchat
- Python学习-Itchat微信API
- 论文阅读笔记之How to Keep a Knowledge Base Synchronized with Its Encyclopedia Source
- Win7 64位的SSDTHOOK(2)---64位SSDT hook的实现
- 51 nod 1491 黄金系统(贡献)
- Classical Classification:Bubble Sorting
- java.lang.IllegalArgumentException: Page directive: invalid value for import
- Python实现微信好友签名词云的构建(itchat、jieba、wordcloud)
- 【图像处理】Python-Image 基本的图像处理操作
- 找出无序数组最小的K个数(基于快排,效率高)
- C++虚继承的概念
- Java——Collections工具类
- canvas贪吃蛇
- java设计模式(五)——适配器模式
- org.apache.commons.beanutils.ConversionException: No value specified for 'Date'
- Linu中configure/makefile的文章