itchat包的api列表
在命令終端輸入:
pip install itchat
import itchat
friends = itchat.get_friends(update=true)
返回乙個字典列表,第乙個是本人資訊。字典中的每乙個key表示乙個資訊,如:性別,暱稱。建議斷點通過pycharm預覽。
列印的結果:male = 0
female = 0
other = 0
# friends[0]是自己的資訊,因此我們要從[1:]開始
for i in friends[1:]:
*** = i['***'] # 注意大小寫,2 是女性, 1 是男性
if *** == 1:
male += 1
elif *** == 2:
female += 1
else:
other += 1
# 計算好友總數
total = len(friends[1:])
print('好友總數:', total)
print('男性比例:%2f%%' % (float(male) / total * 100))
print('女性比例:%2f%%' % (float(female) / total * 100))
print('未知性別:%2f%%' % (float(other) / total * 100))
上面是簡單的單項檢視,其實我們可以使用乙個資料框,一次把所要分析的資料全提出來。比如這裡,我們提取暱稱、性別、省份、城市、個性簽名。arr = ['1'] * male # 男性
arr1 = ['2']*female # 女性
arr2 = ['0'] * other #未知
arr.extend(arr1)
arr.extend(arr2)
import matplotlib.pyplot as plt
plt.hist(arr)
plt.show()
# 提出好友的暱稱、性別、省份、城市、個性簽名,生成乙個資料框
import pandas as pd
# friends[0]是自己的資訊,因此我們要從[1:]開始
data = pd.dataframe()
columns=['nickname', '***', 'province', 'city', 'signature']
for col in columns:
val =
for i in friends[1:]:
data[col] = pd.series(val)
可以看到,還是有部分愛」裝逼」的小夥伴,把地區寫到了國外去了。plt.rcparams['font.sans-serif']=['simhei'] # 如果不設定這一句,中文不顯示
plt.bar(data['province'].value_counts().index,data['province'].value_counts()) # 選擇柱狀圖,而不是直方圖。
plt.xticks(rotation=90) # 橫座標旋轉90度
plt.show()
接著我們看一下人數較多的廣東和湖南的具體分布情況
# 檢視好友的分布情況
gd = data[data['province']=='湖南']['city']
plt.bar(gd.value_counts().index,gd.value_counts())
plt.xticks(rotation=90)
plt.show()
毫無疑問,這個是最好玩的了。剛剛我們拿下來的資料裡有每個好友的個性簽名,接下來讓我們來看看我的小夥伴們的個性簽名有多個性吧!
把個性簽名data['signature']
列印出來,發現有很多表情,還有些甚至變成了『emoji』、『span』等沒用的字樣,因此,需要使用正規表示式將這些替換掉。
執行完,我們檢視一下textimport re
siglist =
for i in data['signature']:
signature = i.strip().replace('emoji','').replace('span','').replace('class','')
rep = re.compile('1f\d+\w*|[<>/=]') # 具體含義另行檢視
signature = rep.sub('', signature)
text = ''.join(siglist)
接下來,就可以使用jb分詞,啊?不,是結巴分詞。
最後,圖是出來了,以我自己頭像為背景,這個頭像不太好,看起來似乎不那麼和諧。import jieba # 沒有安裝的話,先使用 pip install jieba 安裝
好吧!我們來看看我都交了些什麼樣的朋友?一眼望去滿滿的正能量,有木有,踏實、努力的一大堆,也有些多愁善感的。
等等?保單?微粒?什麼鬼?哈哈,那些在本朋友圈打廣告的小夥伴,從現在開始我注意到你們了。
資料分析之微信通訊錄分析
def get self counts dict wc friends pd.dataframe self.friends wc friends.list for i in item set for s in item counts s list.count s return counts prin...
python分析微信好友簽名分析
當前其實有不少工具能夠實現我們的目的,在例子中,我採用了jieba來進行分詞,用wordcloud來生成對應的詞云,用snownlp來分析對應的情緒。關於這三種工作,不做詳細的介紹了,簡單的列一下 結巴 中文分詞 做最好的 python 中文分詞元件 jieba chinese for to stu...
python微信好友 Python簡單分析微信好友
開發工具 python版本 3.6.4 itchat模組 pandas模組 pyecharts模組。環境搭建 安裝python並新增到環境變數,pip安裝需要的相關模組即可。相關檔案 額外說明 pyecharts模組安裝時請依次執行以下命令 pip install echarts countries...