Python玩转微信 个性签名生成词云图

本博客代码参照http://www.cnblogs.com/jiaoyu121/p/6944398.html。


运行如下代码之前,将下图的wechat.jpg放入F盘下,需安装itchat、jieba、matplotlib,numpy和wordcloud这些库。


安装wordcloud库时所有windows用户安装都会遇到问题,有一个非常简单的办法呢就是去到 http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud  这个库的官网下载对应版本的whl,然后进入你存放whl目录下再通过pip安装就能完美解决了,如果还是出现问题请参照下面博客的解决办法http://blog.csdn.net/testcs_dn/article/details/54176504

import itchat
import re

# 先登录,扫二维码登录微信
itchat.login()
#获取好友列表,返回的是json信息
friends = itchat.get_friends(update=True)[0:]
#打印好友列表信息
#print(friends)
tList = []
for i in friends:
    # 获取个性签名,替换掉span,class,emoji
    signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")
    # 正则匹配过滤掉emoji表情,例如emoji1f3c3等
    rep = re.compile("1f\d.+")
    signature = rep.sub("", signature)
    tList.append(signature)

# 拼接字符串
text = "".join(tList)

# jieba分词
import jieba
wordlist_jieba = jieba.cut(text, cut_all=True)
wl_space_split = " ".join(wordlist_jieba)


# wordcloud词云
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
import os
import numpy as np
import PIL.Image as Image

#d = os.path.dirname(__file__)
#找一张微信logo图来生成配色方案,微信logo图wechat.jpg路径在F:\\盘下
alice_coloring = np.array(Image.open(os.path.join('F:\\','wechat.jpg')))
# 这里要选择字体存放路径,win的字体在C:/windows/Fonts中
"""#my_wordcloud = WordCloud().generate(wl_space_split) 默认构造函数
my_wordcloud = WordCloud(
            background_color='white',    # 设置背景颜色
            mask = abel_mask,        # 设置背景图片
            max_words = 200,            # 设置最大显示的字数
            stopwords = STOPWORDS,        # 设置停用词
            font_path = C:/Users/Windows/fonts/simkai.ttf',  # 设置字体格式,如不设置显示不了中文
            max_font_size = 50,            # 设置字体最大值
            random_state = 30,            # 设置有多少种随机生成状态,即有多少种配色方案
                scale=.5
                ).generate(wl_space_split)"""
my_wordcloud = WordCloud(background_color="white", max_words=2000, mask=alice_coloring,
                         max_font_size=40, random_state=42,
                         font_path='C:/Windows/Fonts/simhei.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()

# 保存图片到F:\\盘下 并发送到手机里的文件传输助手(filehelper)里
my_wordcloud.to_file(os.path.join('F:\\','wechat_cloud.png'))
itchat.send_image("F:\\wechat_cloud.png", 'filehelper')


微信logo图片如下:

生成的个性签名词云图片如下:



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值