使用 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调用C/C++动态链接库的方法详解
Jul 22 Python
Python实现全角半角字符互转的方法
Nov 28 Python
Python合并字典键值并去除重复元素的实例
Dec 18 Python
Python搜索引擎实现原理和方法
Nov 27 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
Python使用itchat 功能分析微信好友性别和位置
Aug 05 Python
Django项目后台不挂断运行的方法
Aug 31 Python
dpn网络的pytorch实现方式
Jan 14 Python
Python 使用Opencv实现目标检测与识别的示例代码
Sep 08 Python
Pycharm配置autopep8实现流程解析
Nov 28 Python
python中uuid模块实例浅析
Dec 29 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
php引用地址改变变量值的问题
2012/03/23 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
php链表用法实例分析
2015/07/09 PHP
CI框架常用函数封装实例
2016/11/21 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
Python脚本实现网卡流量监控
2015/02/14 Python
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
python如何定义带参数的装饰器
2018/03/20 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
中海讯通笔试题
2015/09/15 面试题
土建专业毕业生自荐书
2014/07/04 职场文书
公司2015年终工作总结
2015/05/26 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS