python爬去朋友圈_利用Python爬取朋友圈数据,爬到你开始怀疑人生
人生最難的事是自我認知,用Python爬取朋友圈數據,讓我們重新審視自己,審視我們周圍的圈子。
文:朱元祿(@數據分析-jacky)
哲學的兩大問題:1、我是誰?2、我們從哪里來?
本文 jacky試圖用Python,數據化、聚類化我們的人格標簽,試圖回答"我是誰?"這個哲學問題。
(一)確定數據源
自我認知,很難,必須它證。
物以類聚,人以群分。每個人的社交圈,家庭圈,朋友圈的屬性,基本我們人格的特征屬性。我們所處的階級,在別人眼中的印象,在我們的朋友圈中都會得到印證。
朋友圈數據中最具人格屬性的因素是個性簽名,那么下面我們就把所有好友的個性簽名作為我們的研究對象,以此出發爬取數據。
(二) 使用Python的itchat 包對好友的個性簽名數據進行分析
這里我們用到Python一個比較冷門的庫——itchat,它很好的兼容了wechat個人賬號的API接口,讓我們能更加便捷的爬取wechat數據,itchat的功能很強大,這里我們僅用它爬取wechat中我們每個好友的個性簽名。
之后,我們要分析出自定義詞云圖中個性簽名使用的高頻詞語是什么。
最后,生成可視化詞云圖,直觀的給出洞察結果。
源代碼如下:
# coding:utf-8
import itchat
import re
itchat.login()
friends = itchat.get_friends(update=True)[0:]
tList = []
for i in friends:
signature = i["Signature"].replace(" ", "").replace("span", "").replace("class", "").replace("emoji", "")
rep = re.compile("1f\d.+")
signature = rep.sub("", signature)
tList.append(signature)
# 拼接字符串
text = "".join(tList)
# jieba分詞
import jieba
wordlist_jieba = jieba.cut(text, cut_all=True)
wl_space_split = " ".join(wordlist_jieba)
# wordcloud詞云
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
import os import numpy as np
import PIL.Image as Image
d= os.path.dirname(os.path.abspath( __file__ ))
alice_coloring = np.array(Image.open(os.path.join(d, "wechat.jpg")))
my_wordcloud = WordCloud(background_color="white", max_words=2000,mask=alice_coloring,max_font_size=400, random_state=420,font_path='/Users/sebastian/Library/Fonts/Arial Unicode.ttf').generate(wl_space_split)
image_colors = ImageColorGenerator(alice_coloring)
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
下面對于代碼的解析,僅跟初學 Python的朋友提示三點:
1)代碼第24行,其他網絡版本的代碼為d= os.path.dirname(__file__),最好換成jacky這個版本的:
d=os.path.dirname(os.path.abspath(__file__)),具體原因jacky就不做過多解釋了;
2)代碼第25行,一定要提前在環境路徑下創建wechat.jpg的圖片,這樣云圖才能順利生成,并生成你希望的形狀。
3)提前在終端安裝jieba,matplotlib,wordcloud,numpy包
注意以上三點,想不運行成功都難。
運行上面的代碼,得到下面的云圖:
(三)數據洞察
以jacky的朋友圈為例,在云圖中,我們可以看見,高頻詞有:自己,創始人,電商,成功,努力,營銷,互聯網,數據,夢想,生活,咨詢,我們,未來。
其實,這些詞jacky還可以繼續用機器學習算法搞一下,但到這就淺嘗則止吧。
從這些具體的信息中,可以抽象出我的個人人格標簽,具體解析:
自己,我們:說明我很自我,很自大,很自以為是;
努力,未來,夢想:說明我想通過努力來實現自己的價值;
創始人:說明我的社交圈還OK;
互聯網,數據:說明我的能力屬性;
營銷,咨詢:說明了我賴以生存的飯碗;
代理:這... ... 不好說了... ...
End
轉載請注明出處
總結
以上是生活随笔為你收集整理的python爬去朋友圈_利用Python爬取朋友圈数据,爬到你开始怀疑人生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python快速入门课堂笔记_Pytho
- 下一篇: ddos应急处理_写给十九大安保应急的兄