python 微信机器人 关键词_python-微信机器人之词云

1、什么是词云

就是将这个手通过文字填充起来

填充后的效果

我们今天就把咱们微信好友的个性签名全部获取到然后生成这么一个图

你们现在对微信的东西也有一定的了解了,咱们要做这个先分析下都要干什么

登录微信

获取所有微信好友的个性签名

然后把这个性签名记录到一个地方

把文本里的内容写到咱们图片中

然后生成这个图片就行了

微信个性签名词云

准备工作

pip install wxpy

pip install matplotlib

pip install wordcloud

pip install Pillow

pip install numpy

pip install jieba

以上模块都安装完后咱们就按照咱们分析的来操作

第一步

from wxpy import *bot= Bot()

第二步

importre

s= ''friends=bot.friends()for friend infriends:

content= re.findall(r'[一-覦]+',friend.signature)

s+= ''.join(content)

第三步

f = open('s.txt','w',encoding='utf-8')

f.write(s)

f.cloce()

第四步

importmatplotlib.pyplot as pltfrom wordcloud importWordCloud, STOPWORDSfrom PIL importImageimportnumpy as npimportjieba

abel_mask= np.array(Image.open("11.png"))

text_from_file_with_apath= open('signatures.txt', encoding='utf-8').read()

wordlist_after_jieba= jieba.cut(text_from_file_with_apath, cut_all=True)

wl_space_split= " ".join(wordlist_after_jieba)

stopwords= set(STOPWORDS)

第五步

path = '/Users/guobaoyuan/PycharmProjects/weixin/方正楷体.TTF'wc= WordCloud(background_color="black",font_path=path, margin=5, max_words=2000, mask=abel_mask,

stopwords=stopwords).generate(wl_space_split)

wc.to_file("alice.png")

plt.imshow(wc)

plt.axis("off")

plt.show()

这样我们就写完了,我把字体和图片给你们你们复制到咱们当前文件就行了

都实现了后,咱们就来看看这个图片是怎么生成的,和一些咱们不认识的代码都是什么意思

知识点讲解

content = re.findall(r'[一-覦]+',friend.signature)

[一-覦]几乎把所有的中文都包含了

findall是从微信好友的签名中去查找中文一到中文覦的字存放在一个列表中

''.join(content)

这样是将列表中的文字拼成一句话

f = open('s.txt','w',encoding='utf-8')

这个是打开一个文件,文件名叫做s.txt 咱们明明没有这个文件 当打开文件的模式mode 是w的时候就表示创建一个s.txt文件,然后将内容写到s.txt文件中 w模式有个特点就是写之前先把s.txt中的内容先清空然后在写入内容,encoding是表示文件中的内容是以这个编码格式编写的

f.write(s)

f.cloce()

f就是咱们打开的文件,write是将咱们处理好的字符串写入文件中

f.cloce这个是将咱们打开的文件关闭

abel_mask = np.array(Image.open("11.png"))

打开我们生成的图片模板

text_from_file_with_apath = open('signatures.txt', encoding='utf-8').read()

打开我们写好的好友个性签名然后读取出来

wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all=True)

把我们的个新签名使用jieba分词器找到词语和单个的文字

wl_space_split = " ".join(wordlist_after_jieba)

然后将我们组合的词语和文字在拼接起来

stopwords = set(STOPWORDS)

这个是过滤敏感词汇

path = '/Users/guobaoyuan/PycharmProjects/weixin/方正楷体.TTF'

这个是指定我们词云要显示的文字的字体

wc = WordCloud(background_color="black",font_path=path, margin=5, max_words=2000, mask=abel_mask,

stopwords=stopwords).generate(wl_space_split)

生成我们的词云图片,参数如下:

background_color="black" 背景颜色

font_path = path 文字的字体

margin = 边缘大小

max_words = 最大词汇量

mask=abel_mask 图片模块形状

stopwords=stopwords 铭感词

generate 将我们拼接好的内容生成

wc.to_file("alice.png")

plt.imshow(wc)

plt.axis("off")

plt.show()

wc.to_file 生成的文件是alice.png

plt.imshow 绘画这个图片

plt.axis("off") 不显示坐标轴

plt.show() 展示我们绘画的词云图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值