您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么用Python制作微信好友個性簽名詞云圖,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
前言
上次查看了微信好友的位置信息,想了想,還是不過癮,于是就琢磨起了把微信好友的個性簽名拿到,然后分詞,接著分析詞頻,最后弄出詞云圖來。
1.環境說明
Win10 系統下 Python3,編譯器是 Pycharm,需要安裝 itchat、matplotlib、pandas、jieba、wordcloud、numpy、pillow 這幾個包
介紹 Pycharm 安裝第三方包的方法。
由于某些包不能直接用 Pycharm 安裝,所以這里說一下安裝的方法。
安裝wordcloud
worcloud需要numpy> = 1.5.1,pillow和matplotlib,所以要先安裝numpy,pillow和matplotlib。
在這個鏈接找到合適的whl文件
如果是電腦是64位,python是3.6就下載下面這個。
下載回來就放到Python的目錄下,就比如我是把 Python 安裝在E:\Python36這個目錄,就把下載回來的 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
除了這個以外,某一個包需要翻墻才能安裝,具體是哪個就不記得了,好像是 pandas。
2.相關代碼
先把需要的東西導入,安裝這些包可不簡單
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)
獲取數據
data = pd.DataFrame() # 提出好友的昵稱、性別、省份、城市、個性簽名,生成一個數據框 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)
把個性簽名中的 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)
使用結巴分詞進行分詞,用 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")) #這個路徑可以改,最好還是不要改 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.運行
先說明一下,如果能看懂代碼,知道該怎么把必要的文件弄好,那就不怎么需要看下面這個。
如果看得不太理解,運行前一定要在 E 盤建立一個文件夾。路徑是 E:\Python\Wechat ,然后在文件夾中放入一張命名為 toux.jpg 的照片,具體圖片看個人喜好。
最好就是下圖這樣的照片
這樣生成的詞云就會很好看
意思就是圖片要有白色的背景,人物顏色較鮮艷,人物突出(圖片分辨率要高)
把代碼安裝順序復制到 Pycharm,然后鼠標右鍵,選擇 Run,掃描彈出來的二維碼,登錄微信網頁版,確認后等待一下,看到下圖就說明代碼運行得很完美,成功運行,沒有報錯。
然后稍微等一下就可以看到詞云圖了。
關于“怎么用Python制作微信好友個性簽名詞云圖”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。