使用 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算法学习之基数排序实例
Dec 18 Python
Python表示矩阵的方法分析
May 26 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
Python3 中文文件读写方法
Jan 23 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
Mar 29 Python
pycharm创建scrapy项目教程及遇到的坑解析
Aug 15 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
Python中关于logging模块的学习笔记
Jun 03 Python
python调用百度AI接口实现人流量统计
Feb 03 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
Feb 20 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 Python
Python Flask实现进度条
May 11 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中的integer类型使用分析
2010/07/27 PHP
深入PHP异步执行的详解
2013/06/03 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
JS控制弹出新页面窗口位置和大小的方法
2015/03/02 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
2017/07/23 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
vue实现记事本功能
2019/06/26 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
python构建深度神经网络(DNN)
2018/03/10 Python
详解Python正则表达式re模块
2019/03/19 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
使用npy转image图像并保存的实例
2020/07/01 Python
详解python polyscope库的安装和例程
2020/11/13 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
生产车间实习自我鉴定
2013/09/23 职场文书
文秘专业应届生求职信范文
2013/11/14 职场文书
舞蹈教师自荐信
2014/01/27 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
朋友聚会开场白
2015/06/01 职场文书
2016年禁毒宣传活动总结
2016/04/05 职场文书
Django操作cookie的实现
2021/05/26 Python
JavaScript的function函数详细介绍
2021/11/20 Javascript