利用python進行微信好友分析

歡迎python愛好者加入:學習交流羣 667279387

本文主要利用python對個人微信好友進行分析並把結果輸出到一個html文檔當中,主要用到的python包爲itchat,pandas,pyecharts等

1、安裝itchat 微信的python sdk,用來獲取個人好友關係。獲取的代碼 如下:

import itchat
import pandas as pd
from pyecharts import Geo, Bar


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

def User2dict(User):
    User_dict = {}
    User_dict["NickName"] = User["NickName"] if User["NickName"] else "NaN"
    User_dict["City"] = User["City"] if User["City"] else "NaN"
    User_dict["Sex"] = User["Sex"] if User["Sex"] else 0
    User_dict["Signature"] = User["Signature"] if User["Signature"] else "NaN"
    User_dict["Province"] = User["Province"] if User["Province"] else "NaN"
    return User_dict

friends_list = [User2dict(i) for i in friends]
data = pd.DataFrame(friends_list)
data.to_csv('wechat_data.csv', index=True)

2、對獲取到的數據進行分析。
主要分析了男女比例,以及好友所在城市分佈,並且在地圖上面展示了微信好友的分佈情況。另外其他的數據讀者可以自己去分析,這裏只是提供一個引導而已。


import pandas as pd
from pyecharts import Geo, Bar

def Cal_mVw(data):
    result = {}
    for i in data:
        if i == 1:
            result["man"] = result.get("man", 0) + 1
        elif i == 2:
            result["woman"] = result.get("woman", 0) + 1
        else:
            result["unknown"] = result.get("nunknown", 0) + 1
    return result


def count_city(data):
    result = {}
    for i in data:
        if data is not "NaN" or data is not "nan":
            result[i] = result.get(i, 0) + 1
    return result

data1 = pd.read_csv('wechat_data.csv', encoding='GBK')
manVSwoman=Cal_mVw(data1["Sex"])
#print(manVSwoman)
bar = Bar("個人微信好友男女比例")
bar.add("男女人數", ["男", "女", "不詳"], [139, 75, 1])
bar.render()

city=count_city(data1["City"])
geo = Geo("微信好友分佈", "", title_color="#fff", title_pos="center",
width=1200, height=600, background_color='#404a59')
#attr, value = geo.cast(city)
geo.add("", city.keys(), city.values(), visual_range=[0, 30], visual_text_color="#fff", symbol_size=15, is_visualmap=True)
geo.show_config()
geo.render()

男女比例畫出來的圖如下所示
這裏寫圖片描述

獲取到的好友分佈情況如下圖所示:
這裏寫圖片描述

歡迎python愛好者加入:學習交流羣 667279387

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章