Python 微信之获取好友昵称并制作wordcloud的实例

时间:2021-05-22

最近看到网上有人用Python获取微信的一些信息,感觉挺有意思,对于我一个Python刚入门的人来说,正需要一些代码片段来激起我的兴趣,所以自己也写了一些,废话不多说,直接上代码!!!

coding:utf-8微信好友昵称WordCloudimport itchatimport reimport osimport matplotlib.pyplot as pltfrom wordcloud import WordCloud, ImageColorGeneratorimport numpy as npimport PIL.Image as Imageimport jiebaimport 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)#wordcloudd = 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 微信之获取好友昵称并制作wordcloud的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章