1-根据微信好友个性签名生成词云
效果
依赖
pip install -i https://pypi.doubanio.com/simple/ wxpy
pip install -i https://pypi.doubanio.com/simple/ jieba
pip install -i https://pypi.doubanio.com/simple/ numpy
pip install -i https://pypi.doubanio.com/simple/ matplotlib
pip install -i https://pypi.doubanio.com/simple/ wordcloud
pip install -i https://pypi.doubanio.com/simple/ Pillow
注意:下载wordcloud
的时候,可能会报如下错误:
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
缺少C++相关依赖。而给的链接地址已经失效,所以,必须我们自己解决,解决办法在后面
示例代码
import re
import wxpy
import jieba
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS
from PIL import Image
# 1. 登录,获取好友列表,用手机扫二维码登录
bot = wxpy.Bot(cache_path=True)
# 2. 获取好友的个性签名
s = ''
for friend in bot.friends():
content = re.findall(r'[一-覦]+', friend.signature) # 几乎把所有的中文都包含了
s += ''.join(content)
# 3. 制作词云
wl_space_split = ' '.join(jieba.lcut(s)) # jieba返回分好的词
# stop_words = set(STOPWORDS)
abel_mask = np.array(Image.open('cat.jpg')) # 用于生成配色方案的图片,可以是任意图片,建议图片越清晰越好
# 4. 生成词云
wc = WordCloud(
background_color='black', # 背景颜色
font_path='simfang.ttf', # 字体
max_words=3000, # 最大词数
max_font_size=100, # 显示字体最大值
random_state=42, # 为每个词返回一个PIL颜色
mask=abel_mask, # 以该参数值作图绘制词云
stopwords=STOPWORDS, # 屏蔽词
# stopwords= STOPWORDS.add('中国'), # 在内置屏蔽词的基础上添加自定义屏蔽词
).generate(wl_space_split) # 生成词云
# 5. 保存生成的词云图片
wc.to_file('词云.png')
# 6. 展示词云
img = Image.open('词云.png')
img.show()
词云模板
解决wordcloud报错问题
既然是缺少c++的依赖,那么我们就去下载,下载网址,或者直接点击该链接下载,然后安装即可。完了再重新下载wordcloud
。
欢迎斧正,that's all see also:[python 玩转微信系列2 生成好友个性签名词云](https://www.jianshu.com/p/a60b6ef1e6f6) | [这个也行](https://www.cnblogs.com/guobaoyuan/articles/10846387.html)