序言

我之前在CSDN博客上分享过两篇有关 itchat库的教程,

本篇博客是itchat库系列的第三篇文章,它主要实现的功能是获取微信好友地区、性别、签名信息并将结果可视化

正文

根据itchat库获得好友信息

使用下面两行代码可以做到:

itchat.auto_login(hotReload=True)

friends = itchat.get_friends(update=True)

第一行代码是使用itchat库登录微信网页版,它会弹出扫码登录界面,设置参数 hotReload=True的目的是短时间内退出程序,再次登录可以不用扫码。

get_friends()返回的是一个list,里面有n个字典项,其中n等于你的微信好友数,由于list类型是可序列化的,我们可以使用json库把它保存到文件中

# 把json对象转成字符串并保存在本地

with open("data.json", "w", encoding="utf-8") as f:

f.write(json.dumps(friends, indent=2, ensure_ascii=False))

其结果如下:

提取数据并可视化

性别信息可视化

使用下面的代码可以获得所有好友的性别信息

for friend in friends:

if friend["Sex"] == 0:

unknow += 1

elif friend["Sex"] == 1:

male += 1

else:

female +=1

可视化的结果:

男同学占了大部分,女同学才占1/4,我果然是一个没有故事的男同学。

性别未知是没有设置性别的好友。

地区信息可视化

使用下面的代码可以获得所有好友的地区信息

dic_province = dict()

for friend in self.friends:

key = friend["Province"]

if key not in dic_province.keys():

dic_province[key] = 1

else:

dic_province[key] += 1

key_list = []

value_list = []

for key,value in dic_province.items():

if key == "":

key = "其他地区"

key_list.append(key)

value_list.append(value)

可视化的结果是:

呃,好像暴露了我自己的地区。

签名信息可视化

使用下面的代码获得所有好友的个性签名

all_sign = ""

for friend in self.friends:

sign = friend["Signature"]

if len(sign)>0:

# 过滤表情,否则会对词云造成影响

emoji = re.findall("",sign,re.S)

if len(emoji) > 0:

sign = sign.replace(emoji[0],"")

all_sign = all_sign + sign + "\n"

if os.path.exists("wc/sign.txt"):

os.remove("wc/sign.txt")

with open("wc/sign.txt","a+",encoding="utf-8") as f:

f.write(all_sign)

使用词云可视化的结果是

哈哈,也是一群积极向上,积极探讨人生的小伙伴们呢

其他数据可视化

道理类似,不赘述了。

运行示意

运行项目根目录下的main.py文件,可以得到性别和地区可视化结果,如下图:

如果近期没有登录过,程序还会让你扫码登录的

如果需要可视化好友个性签名,则还需要运行项目根目录下wc文件夹下的wc.py文件,如下图:

这个词云是可以定制的,只要替换项目根目录下wc/image下的图片bc.png,就能修改词云的背景,注意最好是纯色背景的图。

所有源代码

关注微信公众号: inspurer 回复关键词"微信好友"即可获得

有关环境配置的问题可以加入qq群: 861016679 一起探讨。

有关机器学习的实战教程已经在筹备中了,敬请期待。

动动手指,点击 好看或者转发,谢谢了!

python判断性别的源代码_Python 获取微信好友地区、性别、签名信息并将结果可视化...相关推荐

  1. python微信好友_python 获取微信好友列表的方法(微信web)

    如下所示: import urllib import urllib2 import os import time import re import cookielib import xml.dom.m ...

  2. python微信好友分析源代码_Python实现微信好友的数据分析

    基于微信开放的个人号接口python库itchat,实现对微信好友的获取,并对省份.性别.微信签名做数据分析. 效果: 直接上代码,建三个空文本文件stopwords.txt,newdit.txt.u ...

  3. python 朋友圈自动回复评论_Python自动回复微信好友新年祝福

    马上就要过年了,好多小伙伴都已经顺利到家,准备过新年,公众号也将暂停更新,今天这篇文章是年前最后一篇原创文章.在这提前祝大家:新年快乐.公众号会在除夕夜给大家发支付宝口令红包哟. 昨天发现自己的itc ...

  4. python查看图片的源代码_python获取图片元数据的代码

    exif-py是一个纯python实现的获取图片元数据的python库,官方下载地址: http://exif-py.svn.sourceforge.net/viewvc/exif-py/source ...

  5. python的itchat获取微信好友数量和性别统计

    python获取微信好友数量和性别统计 先安装itchat库 pip install itchat 源代码如下: 代码执行时会跳出二维码界面,通过手机微信扫码进行登录 import itchat# 登 ...

  6. python:获取微信好友列表信息(二)进行导出微信好友到csv数据读取与处理

    接上一篇:https://blog.csdn.net/seoyundu/article/details/81543656 代码中:对csv文件读取,并利用pandas库处理,统计出好友信息. pand ...

  7. python代码手机壁纸_Python制作微信好友背景墙教程(附完整代码)

    引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这里作了模糊处理. 是不是很炫,而且这还是独一无二的,毕竟 ...

  8. 用python制作生日蛋糕图片大全_Python 制作微信全家福,你就是朋友圈最亮的仔!...

    原标题:Python 制作微信全家福,你就是朋友圈最亮的仔! 目录:0 引言 1 环境2 代码实现3 后记 0 引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出 ...

  9. python朋友圈头像_Python读取微信好友头像,拼成祝福语九宫格

    今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下: 其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片: 代码中汉字文本可以自定义输入,头像 ...

最新文章

  1. JavaScript继承详解(四)
  2. c语言-01背包问题
  3. 学习EF4的一些基础参考资料
  4. vscode 结束_8 个给前端的顶级 VS Code 扩展插件
  5. PS基础教程[3]如何去除照片上的水印
  6. part.write java_小白向:web中利用request.getPart()上传文件到服务器
  7. 关于Verilog中begin···end语句执行顺序
  8. 运营商主动关闭WLAN热点背后:关键是找准产业位置
  9. unity3d 2D版本见缝插针demo
  10. nginx 修改 max open files limits
  11. 如何取得事件中鼠标坐标
  12. 微软发布Visual Studio 2010 SP1公测版
  13. 【整理】Server.Variables属性大全
  14. STL中list的重写
  15. k近邻算法matlab实现_k近邻算法
  16. Common lisp之加载方式(一)
  17. 电磁兼容(EMC)标准结构的划分与分类
  18. 模电:集成运算放大器
  19. 编译原理复习总结及思维导图
  20. 数据库查询之条件排序

热门文章

  1. 回归预测 | MATLAB实现Bayes-LSTM(贝叶斯优化长短期记忆神经网络)多输入单输出
  2. 计算机学院院长科研处处长,广州大学院长 持刀伤害科研处处长夫妇遇害
  3. Dell_Insprion_5409加装内存条
  4. C++基础和STL(习题)
  5. 安卓学习布局篇 Android studio(二)
  6. Web系统存在的意义到底是什么?
  7. 微信支付和微信认证的相关介绍
  8. L710,R530,i535 4.3ROM通用ROOT
  9. 为什么要用UML建模之建模的重要性
  10. python常用的推导式