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

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

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

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

实现思路

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

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

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

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

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

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

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

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

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

统计器源码

只需要修改倒数第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) 复制代码

速查表下载

这张速查表涵盖了 wxpy 文档中的所有功能,可以对照着方便索引。

python实现微信群友统计器相关推荐

  1. Python分析微信群用户信息

    Python分析微信群用户信息 1.什么是开源 别人开发出来的东西 贡献出来了 你可以免费使用 但是不能用作商用 所以叫开源 一般都会有一个协议 叫遵守BSD协议 生活中哪些不是开源的 windows ...

  2. python获取微信群成员信息

    python获取微信群成员信息 #!/usr/bin/python #coding: utf-8import itchat,datetime from itchat.content import TE ...

  3. python导出微信群成员信息_python 使用wxpy实现获取微信好友列表 头像 群成员

    最近在学习 python 突然想要试试能不能把微信里面的微信群和好友取出来 结果百度了一下 找到了 wxpy 这怎么能不试一下呢 用到 wxpy.threading.os.time 四个库 第一步 判 ...

  4. python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  5. python社区微信群_Python 打造微信群聊天机器人(带操作界面)-Go语言中文社区...

    前言 这几天我的一个小伙伴问我能不能给 Ta 做一个配置灵活的微信群聊天机器人,之前了解过 itchat 库的使用,我就爽快的答应了,花了一个晚上,终于做出了雏形. 电脑上运行程序如下: 手机上的信息 ...

  6. Python 打造微信群聊天机器人(带操作界面)

    前言 这几天我的一个小伙伴问我能不能给 Ta 做一个配置灵活的微信群聊天机器人,之前了解过 itchat 库的使用,我就爽快的答应了,花了一个晚上,终于做出了雏形. 电脑上运行程序如下: 手机上的信息 ...

  7. python社区微信群_30行Python代码,打造一个简单的微信群聊助手,简单方便

    大家都知道,最近代码君迷上了Python,一直在研究这门语言,还是那句话,人生苦短,我学Python,今天代码君要教大家一个黑科技,30行代码实现自己定制的微信群聊助手,这个助手有什么用呐,就是用来活 ...

  8. python开发微信群_Python编程:微信群聊程序的开发与进/线程知识汇总(附代码)

    本文承接上篇文章的客户端-服务器聊天对话程序,进一步设计开发了微信群聊的python模拟程序,涉及的python知识点为:Python实战:聊天软件开发与TCP/Socket编程知识汇总(附代码)和 ...

  9. 上海python招聘微信群_如何用20行Python代码打造一个微信群聊助手?

    今天要教大家一个黑科技,20行代码实现自己定制的微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的微信上有一大批好 ...

最新文章

  1. pandas pickle序列化为二进制
  2. 计算机应用试卷分析讲评课教案,数学试卷讲评课教案.doc
  3. Elasticsearch启动问题:max number of threads [3753] for user [XX] is too low, increase to at least [4096]
  4. pytest一:pytest 框架介绍
  5. python tkinter控件_python GUI作业:使用tkinter的重要控件
  6. 安卓自定义View进阶-分类与流程
  7. mysql优化原理_【MySQL】我必须得告诉你们的MySQL优化原理3(下)INNODB配置
  8. Spark 在 Window 环境下的搭建
  9. mongoDb 给表添加+ 删除字段
  10. mycat 分布式mysql_MySQL 部署分布式架构 MyCAT (五)
  11. C++学习网站——www.cplusplus.com
  12. free C# Ebook (Amazing amount of ebooks available)
  13. PHP实现文件上传,下载,批量下载
  14. java调用dll实例_如何用java调用dll,详细图解
  15. arm跑操作系统的意义_上手一个具体而微的 ARM 操作系统
  16. Sentinel系统自适应限流【原理源码】
  17. 杭电计算机组成原理实验RISC-V 实验 取指令及指令译码实验
  18. Metasploit2: tcp port 139/445 – Samba smbd
  19. linux查询打印机ip,Linux C打印IP地址信息
  20. 幼儿抽象逻辑思维举例_孩子逻辑思维能力有多重要?巧用生活小游戏,培养好了娃受益终身...

热门文章

  1. “日历提醒app”程序说明文档
  2. 2345恶意篡改修复
  3. ws2812怎么调亮度_深度解析OLED屏幕的低亮度DC调光是如何实现的?
  4. JavaSE详细总结——万字纯手码
  5. 动感校园行17951长途ip电话卡
  6. [MATLAB] 心形图
  7. 程序员为什么不会修电脑
  8. [2018 江苏省大学生程序设计大赛]JSCPC2018K. 2018 (测试数据范围有扩大)
  9. 联盟 (Alliances)
  10. 多年编码经验血泪史总结,你若想学Python,必须看完这几点再做决定