只有登錄微信才能獲取到微信好友的信息,本文采用wxpy該第三方庫進行微信的登錄以及信息的獲取。
wxpy 在 itchat 的基礎上,通過大量接口優化提升了模塊的易用性,并進行豐富的功能擴展。
wxpy一些常見的場景:
•控制路由器、智能家居等具有開放接口的玩意兒
•運行腳本時自動把日志發送到你的微信
•加群主為好友,自動拉進群中
•跨號或跨群轉發消息
•自動陪人聊天
•逗人玩
總而言之,可用來實現各種微信個人號的自動化操作。
wxpy 支持 Python 3.4-3.6,以及 2.7 版本
將下方命令中的 “pip” 替換為 “pip3” 或 “pip2”,可確保安裝到對應的 Python 版本中
1.從 PYPI 官方源下載安裝 (在國內可能比較慢或不穩定):
pip install -U wxpy1
1.從豆瓣 PYPI 鏡像源下載安裝 (推薦國內用戶選用):
pip install -U wxpy -i "https://pypi.doubanio.com/simple/"1
wxpy中有一個機器人對象,機器人 Bot 對象可被理解為一個 Web 微信客戶端。Bot 在初始化時便會執行登陸操作,需要手機掃描登陸。
通過機器人對象 Bot 的 chats(), friends(),groups(), mps() 方法, 可分別獲取到當前機器人的 所有聊天對象、好友、群聊,以及公眾號列表。
本文主要通過friends()獲取到所有好友信息,然后進行數據的處理。
from wxpy import *# 初始化機器人,掃碼登陸bot = Bot()# 獲取所有好友my_friends = bot.friends()print(type(my_friends))
以下為輸出消息:
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
<Login successfully as 王強?>
<class 'wxpy.api.chats.chats.Chats'>
wxpy.api.chats.chats.Chats對象是多個聊天對象的合集,可用于搜索或統計,可以搜索和統計的信息包括sex(性別)、province(省份)、city(城市)和signature(個性簽名)等。
使用一個字典sex_dict來統計好友中男性和女性的數量。
# 使用一個字典統計好友男性和女性的數量sex_dict = {'male': 0, 'female': 0}for friend in my_friends: # 統計性別 if friend.sex == 1: sex_dict['male'] += 1 elif friend.sex == 2: sex_dict['female'] += 1print(sex_dict)
以下為輸出結果:
{'male': 255, 'female': 104}
本文采用 ECharts餅圖 進行數據的呈現,打開鏈接http://echarts.baidu.com/echarts2/doc/example/pie1.html,可以看到如下內容:
新聞熱點
疑難解答