這篇文章將為大家詳細(xì)講解有關(guān)怎么用Python制作微信好友個(gè)性簽名詞云圖,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)定制開發(fā),是成都網(wǎng)站設(shè)計(jì)公司,為火鍋店設(shè)計(jì)提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開發(fā)等。成都網(wǎng)站推廣熱線:028-86922220前言
上次查看了微信好友的位置信息,想了想,還是不過癮,于是就琢磨起了把微信好友的個(gè)性簽名拿到,然后分詞,接著分析詞頻,最后弄出詞云圖來。
1.環(huán)境說明
Win10 系統(tǒng)下 Python3,編譯器是 Pycharm,需要安裝 itchat、matplotlib、pandas、jieba、wordcloud、numpy、pillow 這幾個(gè)包
介紹 Pycharm 安裝第三方包的方法。
由于某些包不能直接用 Pycharm 安裝,所以這里說一下安裝的方法。
安裝wordcloud
worcloud需要numpy> = 1.5.1,pillow和matplotlib,所以要先安裝numpy,pillow和matplotlib。
在這個(gè)鏈接找到合適的whl文件
如果是電腦是64位,python是3.6就下載下面這個(gè)。
下載回來就放到Python的目錄下,就比如我是把 Python 安裝在E:\Python36這個(gè)目錄,就把下載回來的 wordcloud-1.3.3-cp36-cp36m-win_amd64.whl 放在這。
然后按win鍵+R ,輸入cmd,回車
然后cd 到 Python 目錄那
接下來就是安裝了,pip install wordcloud-1.3.3-cp36-cp36m-win_amd64.whl
除了這個(gè)以外,某一個(gè)包需要翻墻才能安裝,具體是哪個(gè)就不記得了,好像是 pandas。
2.相關(guān)代碼
先把需要的東西導(dǎo)入,安裝這些包可不簡(jiǎn)單
import itchat import matplotlib.pyplot as plt import re, jieba import pandas as pd from wordcloud import WordCloud, ImageColorGenerator import numpy as np import PIL.Image as Image
登錄微信
itchat.auto_login(hotReload=True) friends = itchat.get_friends(update=True)
獲取數(shù)據(jù)
data = pd.DataFrame() # 提出好友的昵稱、性別、省份、城市、個(gè)性簽名,生成一個(gè)數(shù)據(jù)框 columns=['NickName', 'Sex', 'Province', 'City', 'Signature'] for col in columns: val = [] for i in friends[1:]: # friends[0]是自己的信息,因此我們要從[1:]開始 val.append(i[col]) data[col] = pd.Series(val)
把個(gè)性簽名中的 emoji 和別的東西過濾一下
siglist = [] for i in data['Signature']: signature = i.strip().replace('emoji','').replace('span','').replace('class','') rep = re.compile('1f\d+\w*|[<>/=]') # 具體含義另行查看 signature = rep.sub('', signature) siglist.append(signature) text = ''.join(siglist)
使用結(jié)巴分詞進(jìn)行分詞,用 matplotlib 把圖畫出來
word_list = jieba.cut(text, cut_all=True) word_space_split = ' '.join(word_list) coloring = np.array(Image.open("E:/Python/wechat/toux.jpg")) #這個(gè)路徑可以改,最好還是不要改 my_wordcloud = WordCloud(background_color="white", max_words=2000, mask=coloring, max_font_size=100, random_state=42, scale=2, font_path="C:/Windows/Fonts/simkai.ttf").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()
3.運(yùn)行
先說明一下,如果能看懂代碼,知道該怎么把必要的文件弄好,那就不怎么需要看下面這個(gè)。
如果看得不太理解,運(yùn)行前一定要在 E 盤建立一個(gè)文件夾。路徑是 E:\Python\Wechat ,然后在文件夾中放入一張命名為 toux.jpg 的照片,具體圖片看個(gè)人喜好。
最好就是下圖這樣的照片
這樣生成的詞云就會(huì)很好看
意思就是圖片要有白色的背景,人物顏色較鮮艷,人物突出(圖片分辨率要高)
把代碼安裝順序復(fù)制到 Pycharm,然后鼠標(biāo)右鍵,選擇 Run,掃描彈出來的二維碼,登錄微信網(wǎng)頁版,確認(rèn)后等待一下,看到下圖就說明代碼運(yùn)行得很完美,成功運(yùn)行,沒有報(bào)錯(cuò)。
然后稍微等一下就可以看到詞云圖了。
關(guān)于“怎么用Python制作微信好友個(gè)性簽名詞云圖”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。