使用 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的常见命令注入威胁
Feb 18 Python
python生成随机验证码(中文验证码)示例
Apr 03 Python
Python+Opencv识别两张相似图片
Mar 23 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
Jun 04 Python
python3 破解 geetest(极验)的滑块验证码功能
Feb 24 Python
python中类的属性和方法介绍
Nov 27 Python
python获取服务器响应cookie的实例
Dec 28 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
Python3基于plotly模块保存图片表格
Aug 03 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
Feb 03 Python
超级详细实用的pycharm常用快捷键
May 12 Python
python 判断文件或文件夹是否存在
Mar 18 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 mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
用cssText批量修改样式
2009/08/29 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
python对数组进行反转的方法
2015/05/20 Python
python在ubuntu中的几种安装方法(小结)
2017/12/08 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
NumPy中的维度Axis详解
2019/11/26 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
自我评价中英文语句
2013/11/30 职场文书
党日活动总结
2014/05/07 职场文书
新农村建设典型材料
2014/05/31 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
创先争优宣传标语
2014/10/08 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
索赔员岗位职责
2015/02/15 职场文书
爱心捐款活动总结
2015/05/09 职场文书
无工作证明怎么写
2015/06/15 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript