这篇文章将为大家详细讲解有关怎么用Python制作微信好友个性签名词云图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强>前言强>
上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来。
<强> 1。环境说明强>
Win10系统下Python3,编译器是Pycharm,需要安装itchat, matplotlib,大熊猫,jieba, wordcloud, numpy,枕头这几个包
介绍Pycharm安装第三方包的方法。
由于某些包不能直接用Pycharm安装,所以这里说一下安装的方法。
安装wordcloud
worcloud需要numpy>=1.5.1,枕头和matplotlib,所以要先安装numpy,枕头和matplotlib。
在这个链接找到合适的whl文件
如果是电脑是64位,Python是3.6就下载下面这个。
下载回来就放到Python的目录下,就比如我是把Python安装在E: \ Python36这个目录,就把下载回来的wordcloud-1.3.3-cp36-cp36m-win_amd64。whl放在这。
然后按赢得键+ R,输入cmd,回车
然后cd到Python目录那
接下来就是安装了,pip安装wordcloud-1.3.3-cp36-cp36m-win_amd64。whl
除了这个以外,某一个包需要翻墙才能安装,具体是哪个就不记得了,好像是熊猫。
<强> 2。相关代码
强>
先把需要的东西导入,安装这些包可不简单
import itchat import matplotlib.pyplot  as plt import 再保险,jieba import pandas  as pd 得到wordcloud import WordCloud ImageColorGenerator import numpy  as np import PIL.Image  as 图像
登录微信
itchat.auto_login (hotReload=True) 时间=friends itchat.get_friends(更新=True)
获取数据
data =, pd.DataFrame(), #,提出好友的昵称,性,别省份,城市,个性签名,生成一个数据框 列=[& # 39;昵称# 39;,,& # 39;性与# 39;,,& # 39;省# 39;,,& # 39;城市# 39;,,& # 39;签名# 39;】 for col 拷贝列: 时间=val [] for 小姐:朋友[1:]:拷贝,#,朋友[0]是自己的信息,因此我们要从[1:]开始 val.append(我(col)) 数据(col),=, pd.Series (val)
把个性签名中的emoji和别的东西过滤一下
siglist =, [] for 小姐:拷贝数据(& # 39;签名# 39;): signature =, i.strip () .replace (& # 39; emoji& # 39; & # 39; & # 39;) .replace(& # 39;跨度# 39;& # 39;& # 39;).replace(& # 39;类# 39;& # 39;& # 39;) 时间=rep re.compile (& # 39; 1 f \ d + \ w * | [& lt;祝辞/=]& # 39;),#,具体含义另行查看 时间=signature rep.sub(& # 39; & # 39;,,签名) siglist.append(签名) 时间=text & # 39; & # 39; . join (siglist)
使用结巴分词进行分词,用matplotlib把图画出来
word_list =, jieba.cut(文本、,cut_all=True) 时间=word_space_split & # 39; . join (word_list), & # 39; 时间=coloring np.array (Image.open (“E:/Python/微信/toux.jpg")), #这个路径可以改,最好还是不要改 时间=my_wordcloud WordCloud (background_color=皐hite",, max_words=2000, 掩码=着色,max_font_size=100,, random_state=42岁,规模=2, font_path=癈:/Windows/字体/simkai.ttf") .generate (word_space_split) 时间=image_colors ImageColorGenerator(着色) plt.imshow (my_wordcloud.recolor (color_func=image_colors)) plt.imshow (my_wordcloud) plt.axis (“off") plt.show ()怎么用Python制作微信好友个性签名词云图