項目分享|5步教你用Python製作朋友圈個性簽名

前言

今天帶大家玩點好玩的東西,用Python製作自己朋友圈個性簽名的詞雲,有趣吧~好了,下面開始幹活。我知道你們還是想先看看效果的。



項目分享|5步教你用Python製作朋友圈個性簽名


環境準備

語言環境:Python 3.6

工具:Pycharm

操作系統:windows or MacOS


用到的擴展庫

itchat:用來收集微信相關信息。

jieba:是一個強大的分詞庫,完美支持中文分詞。

matplotlib:Matplotlib 是 Python 的繪圖庫。它可與 NumPy 一起使用,提供了一種有效的 MatLab 開源替代方案。它也可以和圖形工具包一起使用,如 PyQt 和 wxPython

wordcloud:以詞語為基本單位,更加直觀和藝術的展示文本的一個小詞雲生成器

import itchat

import re

import jieba

import matplotlib.pyplot as plt

from wordcloud import WordCloud

from wordcloud import ImageColorGenerator

import numpy as np

import PIL.Image as Image


代碼實現

用 itchat 庫登錄微信後用 get_friends 方法獲取微信朋友全部信息,信息包括:暱稱、備註名、性別、地區、個性簽名等等。個性簽名用的是 Signature 字段,很多我們不需要的我們可以選擇性剔除,例如:空格,表情等

signlist = []

itchat.auto_login() #登錄微信

friends = itchat.get_friends(update=True)[0:]

for i in friends:

signature = i['Signature'].strip().replace('span','').replace('class','').replace('emoji','').replace('\\n','').replace('\\"','') #去除無用字符

rep = re.compile("1f\\d+\\w*|[<>/=]")

signature = rep.sub('',signature)

signlist.append(signature)

text = "".join(signlist)

分詞

簡單來說就是將一句話拆分開來,例如【今天也是充滿希望的一天】,可以拆分為【今天,也是,充滿,希望,的,一天】

#分詞

cut = jieba.cut(text,cut_all=True)

word = ",".join(cut)

print(word)

繪製詞雲

把上面所有的中文分詞進行處理,做成詞雲,選擇一張圖片作為背景。詞雲還擁有以下幾種屬性:背景顏色、最大單詞數、畫布圖片、最大字體數、字體路徑(電腦自帶)、畫布比例等。

然後用 matplotlib 庫把圖的顏色、分詞內容寫人並顯示出來。

coloring = np.array(Image.open("F:\\\\photo.jpg")) # 電腦中自定義詞雲的圖片

my_wordcloud = WordCloud(background_color="white", max_words=2000,mask=coloring, max_font_size=70, random_state=48,font_path='./font/msyh.ttf',scale=2).generate(word) # 定義詞雲背景圖顏色、尺寸、字體大小、電腦中字體選擇,random_state 為每個單詞返回一個PIL顏色,字體路徑,畫布比例

image_colors = ImageColorGenerator(coloring)

plt.imshow(my_wordcloud.recolor(color_func=image_colors)) # 繪圖顏色

plt.imshow(my_wordcloud) # 繪圖內容

plt.axis("off")

plt.show() # 顯示圖片

保存自己的詞雲,搞定

d = path.dirname(__file__) # project 當前目錄

my_wordcloud.to_file(path.join(d, 'xxx.png'))


總結

區區幾十行代碼,輕輕鬆鬆就可以製作自己朋友圈個性簽名的詞雲,無論是生活還是工作,我們沒有理由不去利用編程來大幅度提高自己的效率了。

除此之外,簡單的Python技術,還可以在工作和生活中實現許多有趣、實用的功能:

● 比如有人用來做股票分析;

● 有人想轉行前端,爬過拉勾網裡所有前端職位的招聘需求,然後從中分析出哪些框架要求的多,就專攻那些框架學習,再去去找工作;

● 有人用python輕鬆爬取千張表情包,再也不怕鬥圖了;

● 有人觀影前爬取某電影的貓眼評論和評分,更準確地從眼花繚亂的評論中分析,大家對這電影打高分或低分的原因,還做成了關鍵詞詞雲……

Python可以為我們的好奇心買單,通過合理設置爬蟲和分析工具,我們的生活會遠遠比目前看到的更加精彩和多樣化。

還沒開啟Python學習的你,不要再在猶豫中耗盡所有可能!


分享到:


相關文章: