小编给大家分享一下Python如何获取微信好友昵称并制作wordcloud,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
最近看到网上有人用Python获取微信的一些信息,感觉挺有意思,对于我一个Python刚入门的人来说,正需要一些代码片段来激起我的兴趣,所以自己也写了一些,废话不多说,直接上代码!!!
coding:utf-8 微信好友昵称WordCloud import itchat import re import os import matplotlib.pyplot as plt from wordcloud import WordCloud, ImageColorGenerator import numpy as np import PIL.Image as Image import jieba import time #以上是我用到的一些库,这些根据个人不同需要安装某些库 #运行到此处会自动生成一个二维码,打开手机微信,扫一扫即可登录 itchat.login() friends = itchat.get_friends(update=True)[0:] tList = [] for i in friends: #用正则表达式过滤掉 span ,class,emoji。NickName表示微信好友的昵称; signature = i["NickName"].strip().replace("span","").replace("class","").replace("emoji","") rep = re.compile("1f\d.+") signature = rep.sub("",signature) print signature tList.append(signature) #拼接字符串 text = "".join(tList) #jieba分词 wordlist_jieba = jieba.cut(text,cut_all=True) wl_space_split = " ".join(wordlist_jieba) #wordcloud d = os.path.dirname(__file__) alice_coloring = np.array(Image.open(os.path.join(d,"hot.png"))) #设置一个背景图片,文章中会附上 my_wordcloud = WordCloud(background_color="white",max_words=2000,mask=alice_coloring,max_font_size=37, random_state=42, font_path="./handan.ttf").generate(wl_space_split) #此处使用的字体一定是支持中文的字体,当然,如果你确定你好友的昵称都是英文,那么请忽略,字体的路径可以是相对路径,也可以是你的系统字体 image_colors = ImageColorGenerator(alice_coloring) plt.imshow(my_wordcloud.recolor(color_func=image_colors)) plt.imshow(my_wordcloud) plt.axis("off") plt.show() time.sleep(3) plt.close() #图片关闭后将图片发送至手机,保存图片,并发送至手机 my_wordcloud.to_file(os.path.join(d, "wechat_cloud.png")) itchat.send_image("wechat_cloud.png", 'filehelper')
至此,打开你的手机,进入到文件传输助手,你会收到一张图片,这就是使用微信好友昵称制作的词云,例如:
Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。
以上是“Python如何获取微信好友昵称并制作wordcloud”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。