1. 程式人生 > >爬朋友圈好友的個性簽名,生成雲圖(下)

爬朋友圈好友的個性簽名,生成雲圖(下)

思路

  • 爬微信好友的資料
  • 將資料中的個性簽名去除干擾資訊
  • 將資訊進行分詞,以空格連線得到合適的字串
  • 將字串以雲圖形式展示出來。

步驟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
  1. 去該網站下載與您電腦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
  • 選擇的圖片儘量旁邊是白的,需要顯示的非白即可,這樣子有明顯的輪廓。