溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

發(fā)布時(shí)間:2021-04-26 10:37:35 來源:億速云 閱讀:262 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Python主要用來做什么

Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。

基于微信可以做很多有意思的練手項(xiàng)目,看了這張速查表你就會發(fā)現(xiàn),可以做的事情超過你的想象。

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

有一次我想要統(tǒng)計(jì)微信群里哪些同學(xué)在北京,但發(fā)現(xiàn)直接問是很難得到準(zhǔn)確結(jié)果的……

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

這時(shí)候不如運(yùn)用 wxpy 這個庫抓取所有群友的地區(qū)信息,很快就可以得到想要的結(jié)果,甚至還精確到了區(qū)。

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

下面來分享一下這個微信群友統(tǒng)計(jì)器的實(shí)現(xiàn)思路,你可以基于它去拓展更多實(shí)用功能。

實(shí)現(xiàn)思路

解決復(fù)雜問題最好的辦法就是把問題簡單化,拆解成若干個小問題,然后逐個擊破。問題的拆解思路如下:

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

▍1. 如何通過 wxpy 庫找到指定微信群?

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

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

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

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

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

對微信群對象使用 .members 獲得微信群的全部群成員

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

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

對獲取到的微信群的全部群成員,使用 for 循環(huán)一個一個的用 .province 和 .city 獲取省份跟城市信息

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器

然后進(jìn)行統(tǒng)計(jì),即可獲得各地區(qū)的人數(shù)。

統(tǒng)計(jì)器源碼

只需要修改倒數(shù)第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]
  #使用此方法用來更新群聊成員的詳細(xì)信息 (地區(qū)、性別、簽名等)
  group.update_group(True)
  #獲取該群聊組的全部成員對象
  members = group.members
  return members
def clean_members(members):
  #用來存放群聊里出現(xiàn)的全部的省份跟城市的信息
  member_clean = []
  for member in members:
    #.province跟.city分別獲取群成員對象的省份跟城市
    member_info = member.province + member.city
    #可能有的成員沒有設(shè)置自己的地區(qū)跟城市,獲取到的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:
    #統(tǒng)計(jì)某個省份跟地區(qū)在member_clean列表里面的人數(shù)
    if member_clean.count(m):
      member_dict[m] = member_clean.count(m)
      #把member_clean列表里,向member_dict字典里添加過的省份地區(qū)刪除掉
      member_clean = [value for value in member_clean if value != m]
  return member_dict
#改成想要統(tǒng)計(jì)的群聊名字,很久沒有聊天記錄的群最好先發(fā)條消息
group_n = '實(shí)用主義第三期入門訓(xùn)練營'
members = get_members(group_n)
member_clean = clean_members(members)
member_dict = result(member_clean)
print(member_dict)

感謝各位的閱讀!關(guān)于“如何使用Python實(shí)現(xiàn)微信群友統(tǒng)計(jì)器”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI