最近看到许多词云的数据分析效果,通过词云可以方便地看出哪些词汇出现的频率,于是想着通过Python弄了一个分析自己微信好友的个性签名。 先来看效果:

可以很直观地看出来还是'努力'出现的频率比较多啊,九零后确实不容易啊!

如何实现呢,直接上python代码:

import itchat
import re
import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
from scipy.misc import imread  # 这是一个处理图像的函数
sign_list=[]
itchat.auto_login(hotReload=True)
itchat.send(u'Hello,world','filehelper')
friends = itchat.get_friends(update=True)[0:]
print('开始获取微信好友个性签名.....')
for i in friends:signature = i["Signature"].strip().replace("span", "").replace("class", "").replace("emoji", "") #过滤掉表情#rep = re.compile("< =.+/>")rep = re.compile("[^\u4e00-\u9fa5^]")nickName=i["NickName"]signature = rep.sub("", signature)sign_list.append(signature)text=''.join(sign_list)
wordlist_jieba = jieba.cut(text, cut_all=True)
wl_space_split = ' '.join(wordlist_jieba)back_color = imread('./mao.jpg')# 词云
my_wordcloud = WordCloud(background_color='white',  # 背景颜色max_words=2000,  # 最大词数mask=back_color,  # 以该参数值作图绘制词云,这个参数不为空时,width和height会被忽略max_font_size=100,  # 显示字体的最大值font_path='C:/Windows/Fonts/simfang.ttf',  # 指定字体文件 解决显示口字型乱码问题,random_state=42,  # 为每个词返回一个PIL颜色)# 用wl_space_split生成词云
my_wordcloud.generate(wl_space_split)# 基于彩色图像 生成响应的色彩
image_colors = ImageColorGenerator(back_color)
# 显示图片
# plt.imshow(my_wordcloud)
# 关闭坐标轴
# plt.axis('off')
# 绘制词云
plt.figure()
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.axis('off')
# 保存图片
my_wordcloud.to_file('ciyun.png')复制代码

代码主要使用了itchat,matplotlib,ImageColorGenerator模块等,这几个模块都需要自己pip install 一下。主要是分为两步骤,第一步登入微信,获取微信好友信息,提炼签名并过滤掉一些非主流签名,例如带有表情,第二步则是利用ImageColorGenerator模块来生成图片。
如果你仔细观察图片,会发现其轮廓像一只猫,怎么实现呢?准备一张猫的背景图片就可以啦

是不是觉得很有趣呢,自己也去实现一个吧,例如分析一下今年两会政府工作报告出现频率高的词汇!

好玩Python--分析你的微信好友签名相关推荐

  1. 用 Python 分析了所有微信好友,发现了一个秘密...

    点击上方"何俊林",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 Illustrations by Evgenij Kungur 文/ Python攻城狮 最近研究了一下 ...

  2. python分析微信好友签名分析

    上一篇中我们已经得到了所有微信好友,并且分析了微信好友的地域分布. 我们同时也能得到微信好友的所有签名,对于签名我们能够通过分词,分析出使用频率比较高的词,为了直观的展现,也能够生成对应的词云: 甚至 ...

  3. 用 Python 基于 pyecharts 对微信好友进行分析

    参考博客在这里:https://blog.csdn.net/yaoyefengchen/article/details/79427475 Echarts 已经更新到了 ver.4 版本,原文用的是网页 ...

  4. 用python做头像_教你用python下载和拼接微信好友头像图片

    相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就可以转载到 ...

  5. itchat和php,Python使用itchat 功能分析微信好友性别和位置

    这样就将你所有微信好友的信息都返回了,我们并不需要这么多的信息,我们选取一些信息存储到 csv 文件中 注意:返回的信息是一个 list,其中第一个是我自己的信息,所以要从第二项开始 存储的文件 2: ...

  6. 10分钟教你用python下载和拼接微信好友头像图片

    相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面小编就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就可以转 ...

  7. python开发程序知道微信好友是否已读信息吗_基于Python+adb实现微信是否好友检测...

    本文介绍的基于Python+adb实现的微信好友检测,是通过adb操控手机,模拟人的点击.截屏.然后调用OCR接口实现好友检测,对应用无侵入,无需扫描登录即可实现好友检测.网上看到一些文章类似功能的实 ...

  8. python开发程序知道微信好友是否已读信息吗_微商成功神器,python程序员教你,一键分析微信好友近期所有信息...

    好友太多怎么保活 相信做微商的微信好友都会很多,多到很多都成了"僵尸"好友,但是想要成为一个成功的微商,要有两点: 1.好友多,基数决定高度 2."活的"好友多 ...

  9. python微信好友签名

    #功能:请输出微信好友的签名,格式(好友昵称,好友签名,情感极性) #功能:还能实现词云分析,自定义画图 import itchat import re from snownlp  import Sn ...

最新文章

  1. python加载shellcode免杀 简介
  2. 开源高性能异步网关:Soul
  3. 罗永浩直播带货观后感!首秀破纪录,罗永浩直播带货清单及感受
  4. php禁止国外访问,wordpress 禁止国外ip访问
  5. Sql Server2008——远程过程调用失败
  6. Effective Java之使可变性最小(十五)
  7. Ubuntu识别USB设备
  8. 程序员提高建议之踏踏实实“扎马步”
  9. eslint 保存自动修复_ESLint 自动修复问题之如何保留最后修改人信息
  10. 自动刷新徐小明股市直播内容
  11. Ceph分布式存储的搭建(增加mon节点、模拟osd节点故障恢复)
  12. 简单爬取百度百科周杰伦所有歌的歌词
  13. META-INF、WEB-INF分别是什么?
  14. python 横坐标只显示部分数据,Python使用matplotlib在x轴上显示特定值
  15. 方舟大洋洲服务器稳定嘛,方舟生存进化最新版182.0更新内容翻译一览
  16. android涂鸦板保存功能,Android 使用Path实现涂鸦功能
  17. 职场社交赛道上唯一的幸存者,脉脉做对了什么?
  18. C#完美实现打开笔记本电脑摄像头
  19. c语言写的数据挖掘的层次聚类算法(新手版)
  20. php 可视化编辑建站源码,CmsEasy可视化编辑商城系统 v7.3.1

热门文章

  1. 利用jQuery和css实现的模仿百度搜索列表页面的分页的足迹效果
  2. TS Decorator
  3. java成绩前五名的代码_java 如何选出成绩排前5名的学生呢
  4. datagridview如何将sqlite实现多表查询_服气!月薪3W的Exceler,居然是这样合并多表数据的...
  5. 高新园区到大连计算机学校,教育局 | 高新园区2018指标分配表及大连各区指标到校表(附:现行大连指标名额分配方案)...
  6. 加油卡 格式判断 java_JAVA实验_题目8
  7. java比较时间戳大小_JAVA中两个String类型的时间戳怎么样比较大小?
  8. Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider
  9. JAVA 搭建基于SPRINGBOOT的SSM(SPRING + SPRINGMVC + MYBATIS)的MAVEN项目
  10. Linux 链接详解----静态链接实例分析