爬朋友圈好友的個性簽名,生成雲圖(下)
阿新 • • 發佈:2019-01-05
思路
- 爬微信好友的資料
- 將資料中的個性簽名去除干擾資訊
- 將資訊進行分詞,以空格連線得到合適的字串
- 將字串以雲圖形式展示出來。
步驟3-分詞
- 下載jieba結巴
- 使用jieba.cut()將資訊進行分詞,它有三種模式,精確模式,試圖將句子最精確地切開,適合文字分析;全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。
具體檢視
http://blog.csdn.net/luoyexuge/article/details/49104179 - 我們這裡使用jieba.cut(text,cut_all=True)全模式
程式碼
#3.結巴進行分詞
import jieba
jieba_list = jieba.cut(text,cut_all=True)
jieba_list_split = " ".join(jieba_list)
print(jieba_list_split)
步驟4-雲圖
程式碼
#4.進行詞雲
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
import numpy as np
import PIL.Image as Image
#讀入背景圖片
color = np.array(Image.open("121.jpg"))
#生成詞雲
world_cloud = WordCloud(background_color="white" , max_words= 100,
mask=color ,max_font_size=60 ,random_state=42,scale =1.5
,font_path="simhei.ttf").generate(jieba_list_split)
image_color = ImageColorGenerator(color)
#顯示詞雲圖片
plt.imshow(world_cloud.recolor(color_func=image_color))
plt.imshow(world_cloud)
plt.axis("off")
plt.show()
注意
- 這個步驟需要很多包,操作時候,發現PIL和wordcloud出現安裝出錯,其實PIL可以直接下載pillow,而wordcloud顯示
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
- 去該網站下載與您電腦Python版本對應的*.whl檔案。
在cmd.exe下
>python
>>> import pip
>>> print(pip.pep425tags.get_supported())
[('cp36', 'cp36m', 'win_amd64'), ('cp36', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp36', 'none', 'any'), ('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py3', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]
>>>
根據上面的可支援欄位,選擇
wordcloud-1.3.3-cp36-cp36m-win_amd64.whl
3. 然後切換到檔案下載目錄,並使用pip安裝本地包。
pip install .\wordcloud-1.3.2-cp36-cp36m-win32.whl
- 進行生成雲圖時,有個引數是font_path字型,需要將ttf檔案放在專案裡面去,比如,我這裡的字型是黑體,simhei.ttf
- 選擇的圖片儘量旁邊是白的,需要顯示的非白即可,這樣子有明顯的輪廓。