【超超超easy】5分钟:自制酷炫猫咪词云图,会点鼠标即可。

您所在的位置:网站首页 词云图底图 【超超超easy】5分钟:自制酷炫猫咪词云图,会点鼠标即可。

【超超超easy】5分钟:自制酷炫猫咪词云图,会点鼠标即可。

2023-08-14 12:35| 来源: 网络整理| 查看: 265

​​导语

图片

真正的猛男,就要~吸猫吸猫!!

——————————————————————————————————————

​​​hello,大家好,我是木子!

有的猫靠颜值,

有的猫靠机灵性格,

但有这么一只猫,靠睡觉能吃,当当当当~隆重为大家介绍这是我养的小团子,

”对!没错,本喵大名叫团子,小名还没取“

​​

​哈哈哈~这两张照片还是很久之前拍的!无聊的时候跟团子玩玩,逗逗猫咪还是很有趣的!心情也会变好撒!

​​

养猫人养猫魂,养猫都是人上人~hhhhhh.

好了!说了这么多的题外话,不过也不算是题外话,今天小编带大家做的跟猫咪还是有点点关系的啦。

制作猫咪版本的词云图~是爬取微信所有好友的个性签名制作而成的哦!

正文

先上效果😍😍

图片

原理简介:

其实很简单的,大家可以通过网页版的微信,扫码登录后去抓包爬取信息,还可以post去发送信息,也可以使用别人做好的微信接口库。

小编这里用的是一个开源的微信个人号接口itchat,作者@LittleCoder,用python搞的,提供的接口很简单,对于懂python的人,估计一会儿就搞定了~

环境安装:

itchat:是一个开源的微信个人号接口。

jieba:是一个强大分词库,支持中文分词。

wordcloud:是一个用词云的库。

#首先安装这三个库吧 pip install itchat pip install jieba pip install wordcloud

登陆微信获取好友的个性签名。

itchat.login() friends = itchat.get_friends(update=True)[0:] for i in friends: signature = i["Signature"]点击并拖拽以移动

这里有个问题,有大量span,class,emoji,emoji1f3c3等字段。这都是个性签名的一些表情符号,所以要写个正则表达式过滤掉的没用的信息,然后把每个个性签名都添加到一个列表中,拼接成字符串。修改之后成这样了。

tList = [] for i in friends: signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "") rep = re.compile("1f\d.+") signature = rep.sub("", signature) tList.append(signature) text = "".join(tList) #接来下用jieba库把字符串进行分词 wordlist_jieba = jieba.cut(text, cut_all=True) wl_space_split = " ".join(wordlist_jieba)

然后是绘制词云图啦!喜欢小猫的我当然是以猫咪作为首先,你们的话自由选择,图片素材mao.jpg。

图片

接下来打开目录下Wordcloud生成图片。

d = os.path.dirname(__file__) alice_coloring = np.array(Image.open(os.path.join(d, "mao.jpg")))

​创建词云对象,其中'C:\Windows\Fonts\SIMLI.TTF'是用于生成词云的字体,对于 mac系统需要更改font路径,比如:/Users/sebastian/Library/Fonts/Arial Unicode.ttf。

my_wordcloud = WordCloud(background_color="white", max_words=2000, mask=alice_coloring, max_font_size=40, random_state=42, font_path='C:\Windows\Fonts\SIMLI.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()

教程讲解完了,接下来讲下运行流程吧​咳咳咳~很多新手的小伙伴儿可以注意看下下面的运行操作哈~

(1)调试好代码,运行之后,会弹出一个二维码,微信扫一扫登陆,在手机端确认登陆。

(2)稍等几秒钟,就可以绘制成功了,并弹出Figure展示绘制结果,大家可以在这里调整画面大小并保存图片。

图片

附源码:

# coding:utf-8 #导入需要用到的各种库 import itchat import re import jieba import matplotlib.pyplot as plt from wordcloud import WordCloud, ImageColorGenerator import os import numpy as np import PIL.Image as Image #登陆微信,获取好友列表 itchat.login() friends = itchat.get_friends(update=True)[0:] tList = [] #获取好友个性签名 for i in friends: signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "") rep = re.compile("1f\d.+") signature = rep.sub("", signature) tList.append(signature) # 拼接字符串 text = "".join(tList) # jieba分词 wordlist_jieba = jieba.cut(text, cut_all=True) wl_space_split = " ".join(wordlist_jieba) # wordcloud词云 # 打开目录下需要Wordcloud生成图片,如:mao.jpg d = os.path.dirname(__file__) alice_coloring = np.array(Image.open(os.path.join(d, "mao.jpg"))) #创建词云对象,其中'C:\Windows\Fonts\SIMLI.TTF'是生成词云的对象 # 对于 mac系统需要更改font路径,如:/Users/sebastian/Library/Fonts/Arial Unicode.ttf my_wordcloud = WordCloud(background_color="white", max_words=2000, mask=alice_coloring, max_font_size=40, random_state=42, font_path='C:\Windows\Fonts\SIMLI.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() ​总结

好了,一直可爱的猫就搞定了,大家还可以试试其他图片的词云拼图哦——

​🎊🎊源码基地:关注小编获取哦~💝记得三连吖 免费领取福利以及文章项目源码素材!!

这里有个小问题大家需要注意下,程序执行一次之后,经常会弹出二维码,关掉程序就好了,可能是itchat接口的问题。

图片

“大小姐驾到,统统闪开!”



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3