使用 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调用命令行进度条的方法
May 05 Python
python中list常用操作实例详解
Jun 03 Python
python的变量与赋值详细分析
Nov 08 Python
人脸识别经典算法一 特征脸方法(Eigenface)
Mar 13 Python
python进行文件对比的方法
Dec 24 Python
解决python打不开文件(文件不存在)的问题
Feb 18 Python
django框架用户权限中的session缓存到redis中的方法
Aug 06 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
Python callable内置函数原理解析
Mar 05 Python
python 追踪except信息方式
Apr 25 Python
Python实现进度条和时间预估的示例代码
Jun 02 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下实现折线图效果的代码
2007/04/28 PHP
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
js中的闭包学习心得
2018/02/06 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
NFL官方在线商店:NFLShop
2020/07/29 全球购物
行政人员工作职责
2013/12/05 职场文书
高中的自我鉴定
2013/12/16 职场文书
化妆品促销活动总结
2015/05/07 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
教你nginx跳转配置的四种方式
2022/07/07 Servers