itchat分析微信好友的个性签名

itchat是一个开源的微信个人号python接口(公众号、企业号接口为itchatmp)。使用它可以非常优雅地操纵个人微信号。文档链接

七夕到了,博主也要自娱自乐呀,“不知其人视其友“,为了对自己有更全面的了解,博主决定分析一下微信好友的个性签名。

安装

pip install itchat

实验原理

  • 使用itchat接口采集好友数据
  • 对好友性别进行统计分析,使用echart可视化展示
  • 对好友的个性签名文本汇总,然后使用结巴分词法分词,最后用词云显示

采集好友数据

def getFriendsData():itchat.login() #这里需要扫码登录friends = itchat.get_friends()return friends #返回一个JSON对象

性别分析

性别统计

#统计性别比例
def sexStatistic(friends):male = 0female = 0other = 0for friend in friends:sex = friend['Sex']if sex==1:male += 1elif sex==2:female += 1else:other += 1 #出现other的原因是有些用户会不填写性别total = len(friends)male,female,other = map(lambda x:x*1.0/total,[male,female,other])displaySex(male,female,other,friends[0]['NickName']) #friends[0]['NickName']是登录者的名字(就是博主)

显示性别比

为了使数据更加直观,这里使用百度的echart库,echart本是JavaScript的数据可视化库,这里使用它的python接口

pip install echarts-python
def displaySex(male,female,other,user):from echarts import Echart, Legend, Piechart = Echart(u'%s的微信好友性别比例'%user, 'from WeChat')chart.use(Pie('WeChat',[{'value': male, 'name': u'男性 %.2f%%' % float(male*100)},{'value': female, 'name': u'女性 %.2f%%' % float(female*100)},{'value': other, 'name': u'其他 %.2f%%' % float(other*100)}],radius=["50%", "70%"]))chart.use(Legend(["male", "female", "other"]))chart.plot()

运行结果会在浏览器中显示()

嗯,男女比还算协调。

个性签名分析

文本获取

def signatureStatistic(friends):import sys #设置编码reload(sys)sys.setdefaultencoding('utf-8')text = u''for friend in friends:signature = friend['Signature'].strip()if len(signature)>0 and not signature.startswith('<span'):text += friend['Signature']+' 'displayWordCloud(text) #使用词云显示

词云分析

这里用到了结巴分词法。值得注意的是要过滤掉诸如”我“、”的“、“因为”、”就是“等无实际意义的stopword,网上可以找到中文的常见stopword列表

def displayWordCloud(text):import jieba #结巴中文分词import wordcloud #词云库from scipy.misc import imread #从scipy借用读取图片的模块import matplotlib.pyplot as plt #matplotlib纯粹用来辅助作图from collections import Counter#结巴分词jiebaText = list(jieba.cut(text,cut_all=True))#过滤stopwordstopWords = open('./stopWord.txt').read().strip().split()jiebaText = [x for x in jiebaText if len(x)>0 and x not in stopWords]# 使用 counter 做词频统计,并转成字典wordDic = dict(Counter(jiebaText))bgimg = imread("./mask.jpg") # 返回numpy.ndarray类型的rgb数组myWordCloud = wordcloud.WordCloud(font_path="./font.otf", #特别注意,中文一定要有支持中文的字体,默认是没有的,要从外部引入background_color = "#242424", #背景色设置mask=bgimg, #词云的"模子",是一个数组width=1200,height=1200,)#生成词云图myWordCloud.generate_from_frequencies(wordDic)plt.imshow(myWordCloud)plt.axis("off")plt.show()

词云分析结果

最后,祝我的好友们七夕快乐~

转载于:https://www.cnblogs.com/fanghao/p/7449389.html

itchat分析微信好友的个性签名相关推荐

  1. python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...

    本文经授权转载至公众号 Python 知识圈 未经授权 严禁二次转载 阅读文本大概需要 5 分钟 技术群里一位读者微信私聊我,问我能不能统计下微信好友信息并以文件形式保存.其实,以前也写过类似的文章, ...

  2. 搞事情了 | 教你用Python分析微信好友信息(内附完整代码)

    戳上方蓝字 "程序猿杂货铺" 关注我 并 置顶星标! 你的关注意义重大! 本文经授权转载至公众号 Python 知识圈 未经授权 严禁二次转载 阅读文本大概需要 5 分钟 技术群里 ...

  3. python编写性别比例_Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】...

    本文实例讲述了Python分析微信好友性别比例和省份城市分布比例的方法.分享给大家供大家参考,具体如下: 安装itchat pip install itchat 使用 新建wxfx.py,拷贝以下代码 ...

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

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

  5. 使用python分析微信好友的基本信息

    如今,微信已经成为我们生活中的一部分,给我们的生活带来了很多便利,微信于2011年产生,我本人是在2013年间开始使用,众所周知,社交软件中腾讯QQ是占主导地位的,但现在看来,QQ已经被逐渐舍弃,包括 ...

  6. 微商成功神器,python程序员教你,一键分析微信好友近期所有信息

    其他精彩内容:https://blog.csdn.net/weixin_45400881/article/details/95754294 几千个好友,怎么统计 相信做微商的微信好友都会很多,多到很多 ...

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

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

  8. 使用R语言分析微信好友

    上篇使用python分析微信好友 - 简书 https://www.jianshu.com/p/c7f1b400d20a python爬虫: 数据保存后用R语言作图分析 省份分布 城市分布 微信签名生 ...

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

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

最新文章

  1. pandas isnull() 返回bool
  2. linux shell ddos木马,利用Shell 脚本解决DDOS攻击问题
  3. UNIX 网络编程 chapter 4
  4. struts2 集成webservice 的方法
  5. access 根据id删除数据_小程序云开发之数据库自动备份丨云开发101
  6. windows server2008 IIS搭建网站简易教程(阿里云)
  7. c语言4x4按键计算器代码,4X4按键实现计算器功能.doc
  8. 从零开始,讲解详细,贴近实际应用,全面掌握用友ERP财务管理
  9. [转]windows2003的IIS详细设置方法
  10. Java递归求费数列和_java – 斐波纳契数列 – 递归求和
  11. 考试 倒计时 php,PHP实现考试倒计时功能代码
  12. 哈工大 计算机系统 一纸开卷CSAPP
  13. 优维科技EasyOps6.0升级发布会,全程高能回顾
  14. 基于Cesium开源框架的3D展示(包含加载三维以及地图的一些基本操作)
  15. 感谢开源,让我的青春永不褪色!
  16. 数据结构与算法-单链表的常见面试题(单链表的长度,单链表倒数第k个数据)
  17. React使用Video.js播放rtmp,hls视频
  18. 如何找到 java 程序 CPU 使用率100%的原因
  19. 计算机应用能力考试多少选择题,计算机应用能力考试选择题汇总.doc
  20. nodejs下的apidoc 帮助接口文档生成

热门文章

  1. 二级列表ExpandableListView的CheckBox使用
  2. IDM下载器:站点抓取相关设置介绍
  3. 轻松破解Word文档“保护密码”
  4. 如何在Linux(Ubuntu 14.04 LTS)上安装搜狗拼音输入法
  5. 扫一扫vin码就能识别车架号的OCR技术
  6. 大学计算机课程制作生日卡片,DIY手工制作生日贺卡
  7. 妈,别再乱买保健品了!
  8. mongoDB Atlas
  9. CTFSHOW-PHP特性
  10. 彻底弄懂泰勒近似,泰勒展开由来