1 min read

`itchat`包提取微信好友公开数据

itchat包提取微信好友公开数据

Terminal中pip install itchat安装python包。

import itchat
itchat.login()

在点击itchat.login()后,会产生一个二维码,用手机扫描这个二维码,相当于在另外一个客户端登陆了。

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 李家翔

成功登陆的信息。

friends = itchat.get_friends(update=True)[0:]

friends是一个json文件。

看下哪些变量可以研究。

import pandas as pd
pd.DataFrame(friends).columns
Index(['Alias', 'AppAccountFlag', 'AttrStatus', 'ChatRoomId', 'ChatRoomOwner',
       'City', 'ContactFlag', 'ContactType', 'DisplayName', 'EncryChatRoomId',
       'HeadImgFlag', 'HeadImgUpdateFlag', 'HeadImgUrl', 'HideInputBarFlag',
       'IsOwner', 'KeyWord', 'MemberCount', 'MemberList', 'NickName',
       'OwnerUin', 'PYInitial', 'PYQuanPin', 'Province', 'RemarkName',
       'RemarkPYInitial', 'RemarkPYQuanPin', 'Sex', 'Signature', 'SnsFlag',
       'StarFriend', 'Statues', 'Uin', 'UniFriend', 'UserName', 'VerifyFlag',
       'WebWxPluginSwitch'],
      dtype='object')

Sex性别可以算吧。

pd.DataFrame(friends).Sex.unique()
array([1, 2, 0])

keySex,男性值为1,女性为2。

pd.DataFrame(friends).groupby("Sex").agg(['count'])
Sex                                                                                 
0   34  
1   244 
2   264 

keySex,男性值为1,女性为2。

0是什么情况。 500个好友,正常。

感觉都是EDA的范畴的,直接导出数据,在R中搞。

pd.DataFrame(friends).to_excel("friends.xlsx")

接下来就是对friends.xlsx分析了。

可以看到这种“正式迈入双宝妈咪的行列,怀挺!”,意思。

itchat包还有很多其他的功能还有待发掘,包括自动回复微信信息、自动添加好友、管理微信群等,有时间再慢慢摸索吧。