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)
posted @ 2019-03-01 13:45  听雨危楼  阅读(498)  评论(0编辑  收藏  举报