微信好友信息分析---聽說你最近要py?

最近瀏覽網頁看到了wxpy這個東西,不僅驚喜不已。於是開始動手做一個微信好友性別,省市分佈的程序。我也想要了解一下大家啊~ 遺憾的是之前沒有學過python,那就邊看菜鳥教程邊做吧。我做的一些筆記之後會分享出來。

準備

開發工具:pycharm(py就要專業點,調試非常方便。當然idea和eclipse都可以通過添加插件的方式開發python)
wxpy庫(微信API,是在itchat基礎上開發的)
matplotlib庫(用於圖表繪製,這裏我們做了餅圖和柱狀圖)

相關方法

這裏創建一個機器人用於登錄,該方法執行後,需要掃描彈出的二維碼,進行微信登錄。

bot = Bot(cache_path=True)

這裏使用cache_path參數,可以避免短時間內多次掃碼登錄。建議加上。

friends = bot.friends(update=True)

bot對象下有很多聊天變量,可以在官方文檔查閱,這裏使用的friends使我們需要的好友。

下面我們定義一個方法用於分析我們的好友對象,並把分析結果進行必要處理,並繪製圖像。具體程序如下:

def analy_people(people):
    # 獲取性別分佈
    statsex = people.stats('sex')
    # 獲取省分佈
    statprovince = people.stats('province')
    # 獲取市分佈
    statcity = people.stats('city')

    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.figure(1)
    plt.subplot(311)
    plt.title('微信好友性別分佈')  # 圖名
    dictsex = statsex.get('sex')
    x = dictsex.keys()
    y = dictsex.values()
    # 對性別代碼進行替換
    xlst = [''] * 3
    xlst[list(x).index(0)] = '其他(好奇怪啊)'
    xlst[list(x).index(1)] = '純爺們'
    xlst[list(x).index(2)] = '女漢子'
    plt.pie(y, labels=xlst, autopct='%1.1f%%', shadow=False, startangle=150)
    plt.subplot(312)
    plt.title('微信好友省分佈') # 圖名
    dictprovince = statprovince.get('province')
    x1 = dictprovince.keys()
    y1 = dictprovince.values()
    x1lst = list(x1)
    x1lst[x1lst.index('')] = '未知'
    plt.bar(x1lst[0:10], list(y1)[0:10])
    plt.subplot(313)
    plt.title('微信好友所在市分佈') # 圖名
    dictcity = statcity.get('city')
    x2 = dictcity.keys()
    y2 = dictcity.values()
    x2lst = list(x2)
    x2lst[x2lst.index('')] = '未知'
    plt.bar(x2lst[0:10], list(y2)[0:10])
    print("================================")
    plt.show()

figure是一個畫布,suplot是畫布中的第幾塊。matplotlib這個東西令我不禁想起了上學時使用matlab的年代,那是我逝去的青春啊~

最後程序中調用這個方法:

analy_people(friends)

ctrl+shift+F10 運行,掃碼登錄,我們的分析結果就呈現出來了 (=^_^=)
在這裏插入圖片描述
最近在搞加微信羣好友的東東(沒有數據量,你在想peach)。但是老是報1205,頻率也調整了,還是有這個問題。不知各位有何見解,歡迎分享啊~

初出茅廬,略微拙劣。多多包涵~

END

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