樹根的萬事屋
95后、愛AI
也許是你關(guān)注的最年輕號(hào)主
關(guān)注
樹根在上一篇中教了大家如何用Python里面的itchat這個(gè)庫(kù)區(qū)爬取微信中的好友資料,并對(duì)好友的性別數(shù)據(jù)進(jìn)行了可視化,以及統(tǒng)計(jì)好友來自哪里。還沒看的可以戳開:微信大揭秘——用Python玩轉(zhuǎn)微信(一)。
那我們現(xiàn)在繼續(xù)我們的Python玩轉(zhuǎn)微信系列,來繼續(xù)用Python玩轉(zhuǎn)我們的微信!樹根繼續(xù)會(huì)用自己的微信作為小白鼠來給大家示范~
接下來,又是樹根微信大揭秘時(shí)間了。
0
好友個(gè)性簽名制作詞云圖
更加好玩的來了!
之前已經(jīng)爬下了每個(gè)好友的個(gè)性簽名,剛好可以分析一下大伙兒寫個(gè)性簽名時(shí)使用的高頻詞語是什么,順便可以做個(gè)詞云圖。
說句題外話,上一篇中樹根的好友是896個(gè),現(xiàn)在是902個(gè)。
我們需要事先安裝好“jieba”和“wordcloud” 兩個(gè)工具庫(kù),假如不知道怎么安裝可以看一下我很久之前的文章:回憶or寄望,制作一份屬于自己的云圖詞
先把原先爬下來的個(gè)性簽名(Signature)打印出來,發(fā)現(xiàn)本來是表示表情的,現(xiàn)在都變成了“emoji”、“span”、“class”等等這些無關(guān)緊要的詞,需要先替換掉。另外,還有類似 “<>/=”之類的符號(hào),也需要寫個(gè)簡(jiǎn)單的正則表達(dá)式替換掉,再把所有拼起來,得到text字串。
以下是執(zhí)行代碼:
import re
siglist = []
for i in friends:
signature = i['Signature'].strip().replace('span','').replace('class','').replace('emoji','')
rep = re.compile('1f\d+\w*|[<>/=]')
signature = rep.sub('', signature)
siglist.append(signature)
text = ''.join(siglist)
接著就可以把JB,啊不,把jieba這個(gè)包搞進(jìn)來分詞(搞不懂這個(gè)庫(kù)的名字怎么來的)。
import jieba
wordlist = jieba.cut(text, cut_all=True)
word_space_split = ' '.join(wordlist)
分詞成功以后,終于可以進(jìn)入畫圖階段了。
可以根據(jù)自己想要的圖片、形狀、顏色畫出相似的圖形。樹根這次執(zhí)行的云圖詞代碼比上一篇的入門要高大上一點(diǎn),我們需要把matplotlib、wordcloud、numpy、PIL等包搞進(jìn)來。
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
import numpy as np
import PIL.Image as Image
coloring = np.array(Image.open('C:/Users/acer/Desktop/timg.jpg'))
my_wordcloud = WordCloud(background_color='white', max_words=2000,
mask=coloring, max_font_size=40, random_state=42, scale=2,
font_path='C:/Users/acer/Desktop/msyh.ttc').generate(word_space_split)
image_colors = ImageColorGenerator(coloring)
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud)
plt.axis('off')
plt.show()
我們來看看結(jié)果是怎么樣的。
首先我們來看一下原圖,是非常可愛的皮卡丘~
然后用這可愛的皮卡丘作為背景,把所有好友的個(gè)性簽名做成詞云圖
哇~好可愛的詞云圖有木有~~~我們繼續(xù)使用其他的圖片來試試。
~duang~
看來,在我的所有微信好友的個(gè)性簽名里,有人善于聆聽、有人強(qiáng)調(diào)善良、有人重視靈魂、有人凝視人生。他們一直在等待,不放棄尋找、歷盡曲折,不畏虛偽、真心如一,不能辜負(fù)、一步一生多努力
樹根真編不下去了,其實(shí)樹根的好友簽名無非就是我不能沒有你、你不能失去我哈哈哈哈。
以上是不是很有趣呢?是不是又打開了一扇新世界的大門呢?
我的微信好友也不是太多,如果微信好友有幾千個(gè),可以得到幾千條數(shù)據(jù),分析一下還是很有價(jià)值的。
聯(lián)系客服