溫馨提示×

溫馨提示×

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

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

Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化

發(fā)布時間:2021-07-14 15:01:01 來源:億速云 閱讀:189 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化”吧!

正文

根據(jù)itchat庫獲得好友信息

使用下面兩行代碼可以做到:

  
    
  
  
  
  1. itchat.auto_login(hotReload=True)


  2. friends = itchat.get_friends(update=True)

第一行代碼是使用itchat庫登錄微信網(wǎng)頁版,它會彈出掃碼登錄界面,設(shè)置參數(shù) hotReload=True的目的是短時間內(nèi)退出程序,再次登錄可以不用掃碼。

get_friends()返回的是一個list,里面有n個字典項,其中n等于你的微信好友數(shù),由于list類型是可序列化的,我們可以使用json庫把它保存到文件中

  
    
  
  
  # 把json對象轉(zhuǎn)成字符串并保存在本地with open("data.json", "w", encoding="utf-8") as f:    f.write(json.dumps(friends, indent=2, ensure_ascii=False))

其結(jié)果如下:

Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化

提取數(shù)據(jù)并可視化

性別信息可視化

使用下面的代碼可以獲得所有好友的性別信息

  
    
  
  
  for friend in friends:            if friend["Sex"] == 0:                unknow += 1            elif friend["Sex"] == 1:                male += 1            else:                female +=1

可視化的結(jié)果:

Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化

男同學(xué)占了大部分,女同學(xué)才占1/4,我果然是一個沒有故事的男同學(xué)。

性別未知是沒有設(shè)置性別的好友。

地區(qū)信息可視化

使用下面的代碼可以獲得所有好友的地區(qū)信息

  
    
  
  
  dic_province = dict()        for friend in self.friends:            key = friend["Province"]            if key not in dic_province.keys():                dic_province[key] = 1            else:                dic_province[key] += 1        key_list = []        value_list = []        for key,value in dic_province.items():            if key == "":                key = "其他地區(qū)"            key_list.append(key)            value_list.append(value)

可視化的結(jié)果是:

Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化

呃,好像暴露了我自己的地區(qū)。

簽名信息可視化

使用下面的代碼獲得所有好友的個性簽名

  
    
  
  
  all_sign = ""        for friend in self.friends:            sign = friend["Signature"]            if len(sign)>0:                # 過濾表情,否則會對詞云造成影響                emoji = re.findall("<span class=.*></span>",sign,re.S)                if len(emoji) > 0:                    sign = sign.replace(emoji[0],"")                all_sign = all_sign + sign + "\n"        if os.path.exists("wc/sign.txt"):            os.remove("wc/sign.txt")        with open("wc/sign.txt","a+",encoding="utf-8") as f:            f.write(all_sign)

使用詞云可視化的結(jié)果是

Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化

哈哈,也是一群積極向上,積極探討人生的小伙伴們呢

其他數(shù)據(jù)可視化

道理類似,不贅述了。

運行示意

運行項目根目錄下的main.py文件,可以得到性別和地區(qū)可視化結(jié)果,如下圖:

Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化

如果近期沒有登錄過,程序還會讓你掃碼登錄的

如果需要可視化好友個性簽名,則還需要運行項目根目錄下wc文件夾下的wc.py文件,如下圖:

Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化

這個詞云是可以定制的,只要替換項目根目錄下wc/image下的圖片bc.png,就能修改詞云的背景,注意最好是純色背景的圖。

感謝各位的閱讀,以上就是“Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Python如何獲取微信好友地區(qū)、性別、簽名信息并將結(jié)果可視化這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

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

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

AI