如何用Python制作微信好友個性簽名詞云圖
前言
上次查看了微信好友的位置信息,想了想,還是不過癮,于是就琢磨起了把微信好友的個性簽名拿到,然后分詞,接著分析詞頻,最后弄出詞云圖來。
1.環(huán)境說明
Win10 系統(tǒng)下 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

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結合SQLite構建一個完整數據驅動應用的終極指南
這篇文章主要為大家詳細介紹了Python結合SQLite構建一個完整數據驅動應用的相關方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2026-01-01
python?import?logging日志(日志封裝)詳解
文章介紹了如何使用Python的logging模塊創(chuàng)建和配置日志類,包括初始化logger對象、設置日志級別和格式、自動分割日志文件等,還展示了如何在多個文件中使用日志功能,并通過配置文件進行日志配置2026-01-01
深入理解Python虛擬機中浮點數(float)的實現原理及源碼
在本篇文章當中主要分析在 cpython 虛擬機當中 float 類型的實現原理以及與他相關的一些源代碼,文中的示例代碼講解詳細,感興趣的可以了解一下2023-03-03

