python|python 玩转微信系列1 用饼图展示好友性别比例
0 . itchat
itchat: 作者@LittleCoder 已经把微信的接口完成了,大大的方便了我们对微信的挖掘,以下的功能也通过itchat来实现。
安装 itchat : 终端运行如下命令:
pip install itchat
安装 charts: 用于将数据用图表展示
pip install charts
终端显示安装成功后,下面开始操作代码
【python|python 玩转微信系列1 用饼图展示好友性别比例】因为最终效果要用饼图显示,所以我这里的代码在jupyter notebook中编写运行,有关jupyter的内容,可以参考我的这篇笔记:@Jupyter
1 . 导入模块
#! /usr/bin/env python3
import itchat
import charts
2 . 登录 获取好友列表
# 登录
itchat.login()
# 获取好友列表
friends = itchat.get_friends(update=True)[0:] # 参数update如果不设置则默认读取本地
3 . 计算 男性、女性以及未写性别的friend个数
# 初始化计数器,有男有女,当然,有些人是不填的
male = female = other = 0
# 遍历这个列表,列表里第一位是自己,所以从"自己"之后开始计算
#1表示男性,2女性
for i in friends[1:]:
print(i)
sex = i["Sex"]
if sex == 1:
male += 1
elif sex == 2:
female += 1
else: other += 1
# 总数算上,后边计算比例会用到
total = len(friends[1:])
4 . 显示表格
series =[{
'type': 'pie',
'name': u'%s的微信好友性别比例' % (friends[0]['NickName']),
'data': [
[u'男性',float('%.2f' % (float(male) / total * 100))],
[u'女性',float('%.2f' % (float(female) / total * 100))],
[u'其他',float('%.2f' % (float(other) / total * 100))]
]
}]
由于charts的格式是这样,所以各个键值(type,name,data)不能修改只能这样写
5 . 用一个饼图呈现
charts.plot(series, options={'title': {'text': u'%s的微信好友性别比例' % (friends[0]['NickName'])}}, show='inline')
最终显示效果如下:
文章图片
pie.jpg 本代码用python 3.5 mac环境下测试通过,本文只是简单的介绍了itchat的使用,还有更多的功能,各位童靴可以自己看api去扩展, 如有不足之处还请帮忙指正,多多交流,共同学习,共同进步
推荐阅读
- 微信跳一跳19370
- Python总结-----爬虫
- Day|Day 17《从零开始学微信创业》
- python小白爬虫第一篇
- Python基础|使用Python求解数独
- 数据结构与算法|堆排序python实现及时间复杂度分析
- 4.|4. Python 正则表达式
- 2018-08-05|2018-08-05 python 学习笔记
- Linux下常用软件源码编译
- python|Python 强大的信号库 blinker 入门教程