1. 程式人生 > >用Python爬了自己的微信好友,原來他們是這樣的人……

用Python爬了自己的微信好友,原來他們是這樣的人……

導讀: 用了微信幾年了,微訊號有也不少了,但是真正瞭解自己的好友嗎?好友最多的城市是哪個?好友男女比例是多少?好友簽名都是什麼?今天我們來充分了解自己的微信好友。

01 準備工作

執行平臺:Windows
Python版本:Python3.6
IDE:Sublime Text

1. 庫介紹

只有登入微信才能獲取到微信好友的資訊,本文采用wxpy該第三方庫進行微信的登入以及資訊的獲取。

wxpy 在 itchat 的基礎上,通過大量介面優化提升了模組的易用性,並進行豐富的功能擴充套件。

wxpy一些常見的場景:

  • 控制路由器、智慧家居等具有開放介面的玩意兒

  • 執行指令碼時自動把日誌傳送到你的微信

  • 加群主為好友,自動拉進群中

  • 跨號或跨群轉發訊息

  • 自動陪人聊天

  • 逗人玩

總而言之,可用來實現各種微信個人號的自動化操作。

2. wxpy庫安裝

wxpy 支援 Python 3.4-3.6,以及 2.7 版本

將下方命令中的 “pip” 替換為 “pip3” 或 “pip2”,可確保安裝到對應的 Python 版本中

從 PYPI 官方源下載安裝 (在國內可能比較慢或不穩定):

pip install -U wxpy

從豆瓣 PYPI 映象源下載安裝 (推薦國內使用者選用):

pip install -U wxpy -i "https://pypi.doubanio.com/simple/"

3. 登入微信

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 王強