導讀:看完本文,你可以瞭解到:
-
一些視覺化工具的使用(pyecharts)
-
python圖片工具PIL庫的使用
-
自然語言處理工具包結巴分詞的使用
-
爬蟲的基礎知識
-
微信網頁api工具itchat的使用
先告訴大家這份程式碼能幹嘛——
-
統計好友的性別
-
統計好友的地域分佈,並且視覺化在地圖上展示
-
將好友的暱稱做成詞雲
-
統計好友個性簽名中的高頻詞彙
-
將所有好友的頭像合併成一張大圖
-
微信自動傳送與回覆訊息
-
擴充套件功能
作者:二胖
來源:大資料前沿(ID:bigdataqianyan)
好了,廢話不多說,直入正題:
01 功能展示
下麵先展示一下具體的功能,這裡就用本文作者二胖自己的微信來進行展示啦。
1. 統計好友性別
以上就是二胖的微信好友啦,一共有306人,嗯,不多。其中男性佔據60%,沒辦法,理工科學校的男生就是這樣,其他這一類人表示的是並未填寫性別資訊的好友。
2. 統計好友地域分佈
第二個功能是統計你的微信好友在資訊中填寫的個人位置資訊,下圖是二胖的好友的位置分佈:
可以看到,二胖的好友中有很大一部分人在北京,是因為二胖大學在北京念書,現在也在北京工作。
當然,條形圖能形象地展示各個地區之間的人數差別,但是展示的資訊並不全面,也不那麼直觀,所以二胖又做了一個地圖的視覺化,如下圖所示:顏色越暖代表這個地方的好友越多:
3. 將好友的暱稱做成詞雲
我們和微信好友聊天的時候,看見的基本都是我們對他們的備註名,很好有人去關心他們的暱稱,說實在的,這麼一統計才知道,其實好友的暱稱還真的挺有意思,各位要是感興趣可以跑一下試試。
由於這個詞雲中含有較多的個人資訊,所以我就不放在這裡了。
4. 統計好友個性簽名中的高頻詞彙
這個功能的原理就是對每個好友的個性簽名利用自然語言處理技術提取關鍵詞,然後按照詞頻來生成詞雲,下麵詞雲中的關鍵詞個頭越大表示越多人使用,看來好友們說得最多是“自己”,“我們”。
5. 將所有好友的頭像合併成一張大圖
這其實就是用程式將好友的頭像們下載下來,然後用PIL工具合成一張大圖,看起來比較有趣,如下圖就是二胖用部分好友的頭像做的一張頭像圖:
6. 微信自動傳送與回覆訊息
這裡的自動接收訊息,二胖只做了一個簡單的demo,可以先給大家看看:
其中“機器人”,就是當前程式執行的微訊號,一段簡單的聊天:
我們可以在程式中設定好關鍵詞,然後當傳送訊息命中關鍵詞的時候就可以回覆相應的陳述句。當然這隻是簡單的示範,大家可以根據自己的需求傳送相應的訊息。
比如逢年過節可以用程式群發祝福訊息,那和用微信本身群發有什麼區別呢,區別就在於,程式可以個性化傳送訊息。
舉個例子:比如新年來了,你要給大家傳送新年祝賀。
如果你直接傳送“年年都有今日,歲歲都有今朝,祝你新年快樂。”對面接收人肯定會想到你是群發的。
那用程式有什麼不同呢,程式在遍歷你的微信好友時,可以獲取他的暱稱、備註等資訊。在傳送祝福的時候,程式可以加上暱稱、姓名等資訊,還可以隨機傳送詞庫中的祝福語。
以上祝福可以變成:“hi,鐵柱,年年都有今日,歲歲都有今朝,祝你新年快樂”。當然這都是後話了。
除此之外,對於一些做銷售相關工作的童鞋,這個功能相對更有用。因為不同的客戶可能會問到很多相似的問題,那麼把這些高頻的問題回答寫行程式就可以實現自動回答了。
目前網路上也有這樣的服務,不過二胖認為它們存在問題,1是服務需要付費,2是把微信執行在別人的平臺上不安全。
7. 擴充套件
所謂擴充套件,就是將個人微信做成一個服務,透過在程式中請求其他服務的api而獲得相應的資訊,比如獲取一些實時訊息。
舉個小例子:二胖前段時間在玩一款叫萊茨狗的遊戲,很簡單,就是使用者透過一定虛擬積分在一個平臺上買賣虛擬寵物“萊茨狗”,那麼當有低價狗出現的時候怎麼第一時間知道呢?
答案就是寫個程式進行監控,沒錯,只要有賣家拋狗,那麼只要價格和等級符合自己定的策略,就可以透過計算機篩選出這隻狗,然後把交易連結發出來。可是二胖也不能一直坐在電腦面前等啊,所以二胖選擇讓程式將資訊直接傳送到微信,這樣二胖只要帶著手機就能實時接收交易資料了,可以看看下麵的小影片:
左邊是二胖的手機,右邊是電腦螢幕,顯示的是實時交易資料。只要右邊的交易資料符合我的策略,交易連結就會透過微信傳送給我,當然二胖現在早已不玩這個遊戲啦。
玩股票的朋友也可以用這個方法監控股票哦。
放一張之前的截圖:5月10日,獲取到的符合策略的狗狗。
02 程式碼實現
其實原理很簡單,利用的就是微信web端的api,來實現微信好友資訊的獲取、資訊的收發以及拿到微信好友資訊之後的一些分析操作。
流程為:
-
獲取好友資訊
-
分析好友資訊
-
透過api收發好友資訊
由於文字闡述不清,所以就看影片吧,如果你有時間,請現在用電腦開啟觀看,我相信你點了收藏之後再次開啟的機率就很低了。
相信看完影片的小夥伴已經瞭解了程式的實現過程,程式碼我已上傳github了,需要的童鞋請自取,別忘了給我點個star哦。
github地址:
https://github.com/yangxuanxc/wechat_friends
版本:Python 3
沒有看github上的檔案的童鞋可以裝一下下麵的依賴庫
– PIL: pip3 install pillow
– pyecharts:pip3 install pyecharts
– pip3 install itchat
地圖資料包:
pip3 install echarts-china-provinces-pypkg
送你一個彩蛋
彩蛋的正體是
第25屆北京國際圖書博覽會 (BIBF)
免費門票
數量有限,先到先得
▲ 識別上面的二維碼,就能領取哦
那麼……
BIBF 是個啥?
BIBF 即 北京國際圖書博覽會
創辦於1986年
是亞洲範圍內規模最大的國際書展
2018年8月22日-26日
第25屆北京國際圖書博覽會
將於在北京(順義)舉辦
展廳是不是很高大上?▲
共2500多家出版企業參展
展覽面積達到97700平方米
2017BIBF名家雲集
諾貝爾文學獎獲得者莫言盛大亮相
大資料合作伙伴
機械工業出版社
作為BIBF的參展單位
籌備了精彩活動
邀請諸多重磅作者和大咖譯者前來
與你面對面交流
他們是!
8月22號 下午場
13:00~14:40 廖恆《爆紅》
14:40~15:20 郭超敏《低慾望社會》
15:20~16:00 楊曉莉 《認識經濟》
8月23號
上午場:企業管理與運營專場
10:00~10:40 路江湧《共演戰略》
10:40~11:20 邱昭良《如何系統思考》
11:20~12:00 向東平《經營者養成筆記》
8月23號
下午場:市場營銷專場
14:00~15:00 唐文、葉壯、鄧斌《秒懂力》
15:00~16:00 李明軒《運營有道》
16:00~17:00 方軍《付費》
8月24號
上午場:區塊鏈專場
10:00~10:40 杜均《區塊鏈+》
10:40~11:20 何祝君《深度探索區塊鏈:Hyperledger技術與應用》
11:20~12:00 馮少華《阿米巴經營實操手冊》
8月24號
下午場:企業管理與運營專場
14:00~15:00 《高績效教練》PCI
15:00~16:00 張雲《品類戰略》長城WEY品牌定位之道(裡斯中國)
16:00~17:00 藺雷《內創業革命》
8月25號 上午場
10:00~10:40 朱恆源《戰略節奏》企業的戰略節奏
11:20~12:00 柴佔祥《自動駕駛改變未來》
8月22日-26日BIBF北京國際書展
乾貨滿滿 不容錯過
記住這個地址!▼
北京新國展 W2館—F06展臺
機械工業出版社
說不定還能與資料叔
來個驚!悚!的邂逅~
長按識別二維碼免費報名
【報名必讀】
應BIBF主辦方要求
本次活動全部憑紙質入場券參加,每券一人
為方便您及時領取,不錯過感興趣的沙龍
報名後,請入群瞭解詳細資訊,領取入場券
最後!我們的展區是這樣滴!▲
我們的展區是這樣滴!!
我們的展區是這樣滴!!!
重要的事情說三遍!!!
點選閱讀原文,免費領票!