使用 Python 实现微信群友统计器的思路详解


Posted in Python onSeptember 26, 2018

基于微信可以做很多有意思的练手项目,看了这张速查表你就会发现,可以做的事情超过你的想象。

使用 Python 实现微信群友统计器的思路详解

有一次我想要统计微信群里哪些同学在北京,但发现直接问是很难得到准确结果的……

使用 Python 实现微信群友统计器的思路详解

这时候不如运用 wxpy 这个库抓取所有群友的地区信息,很快就可以得到想要的结果,甚至还精确到了区。

使用 Python 实现微信群友统计器的思路详解

下面来分享一下这个微信群友统计器的实现思路,你可以基于它去拓展更多实用功能。

实现思路

解决复杂问题最好的办法就是把问题简单化,拆解成若干个小问题,然后逐个击破。问题的拆解思路如下:

使用 Python 实现微信群友统计器的思路详解

?1. 如何通过 wxpy 库找到指定微信群?

使用 bot.groups() 方法找出最近聊天的微信群

使用 Python 实现微信群友统计器的思路详解

使用 wxpy 提供的 bot.groups().search('群名')[0] 方法找到指定微信群

使用 Python 实现微信群友统计器的思路详解

?2. 如何获取到指定微信群的全部群成员?

对微信群对象使用 .members 获得微信群的全部群成员

使用 Python 实现微信群友统计器的思路详解
使用 Python 实现微信群友统计器的思路详解

?3. 如何获取到群成员的省份跟城市的信息?

对获取到的微信群的全部群成员,使用 for 循环一个一个的用 .province 和 .city 获取省份跟城市信息

使用 Python 实现微信群友统计器的思路详解
使用 Python 实现微信群友统计器的思路详解

然后进行统计,即可获得各地区的人数。

统计器源码

只需要修改倒数第5行,改成你要查询的微信群,然后就可以使用了。

from wxpy import *
bot = Bot()
def get_members(group_name):
  print(bot.groups().search(group_name)[0])
  group = bot.groups().search(group_name)[0]
  #使用此方法用来更新群聊成员的详细信息 (地区、性别、签名等)
  group.update_group(True)
  #获取该群聊组的全部成员对象
  members = group.members
  return members
def clean_members(members):
  #用来存放群聊里出现的全部的省份跟城市的信息
  member_clean = []
  for member in members:
    #.province跟.city分别获取群成员对象的省份跟城市
    member_info = member.province + member.city
    #可能有的成员没有设置自己的地区跟城市,获取到的member_info可能为空
    member_info_clean = member_info.replace(' ', '')
    if not member_info_clean == '':
      member_clean.append(member_info_clean)
  return member_clean

def result(member_clean):
  member_dict = {}
  for m in member_clean:
    #统计某个省份跟地区在member_clean列表里面的人数
    if member_clean.count(m):
      member_dict[m] = member_clean.count(m)
      #把member_clean列表里,向member_dict字典里添加过的省份地区删除掉
      member_clean = [value for value in member_clean if value != m]
  return member_dict
#改成想要统计的群聊名字,很久没有聊天记录的群最好先发条消息
group_n = '实用主义第三期入门训练营'
members = get_members(group_n)
member_clean = clean_members(members)
member_dict = result(member_clean)
print(member_dict)

总结

以上所述是小编给大家介绍的使用 Python 实现微信群友统计器的思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python脚本暴力破解栅栏密码
Oct 19 Python
详细分析python3的reduce函数
Dec 05 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
python利用thrift服务读取hbase数据的方法
Dec 27 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
python 弧度与角度互转实例
Apr 15 Python
python实现跨年表白神器--你值得拥有
Jan 04 Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 06 Python
pytest配置文件pytest.ini的详细使用
Apr 17 Python
Python合并pdf文件的工具
Jul 01 Python
APIStar:一个专为Python3设计的API框架
Sep 26 #Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 #Python
Python 实现「食行生鲜」签到领积分功能
Sep 26 #Python
Linux下python3.6.1环境配置教程
Sep 26 #Python
简单谈谈python基本数据类型
Sep 26 #Python
浅析Python四种数据类型
Sep 26 #Python
详解将Django部署到Centos7全攻略
Sep 26 #Python
You might like
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
常用的php ADODB使用方法集锦
2008/03/25 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
javascript 简练的几个函数
2009/08/29 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
利用Python为iOS10生成图标和截屏
2016/09/24 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
Python中turtle作图示例
2017/11/15 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
python实现贪吃蛇游戏
2020/03/21 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
django 模型中的计算字段实例
2020/05/19 Python
python实现逻辑回归的示例
2020/10/09 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
绿化工程实施方案
2014/03/17 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
党员检讨书
2014/10/13 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
税务会计岗位职责
2015/04/02 职场文书