Python 微信之獲取好友昵稱并制作wordcloud的實例
最近看到網(wǎng)上有人用Python獲取微信的一些信息,感覺挺有意思,對于我一個Python剛?cè)腴T的人來說,正需要一些代碼片段來激起我的興趣,所以自己也寫了一些,廢話不多說,直接上代碼?。?!
coding:utf-8
微信好友昵稱WordCloud
import itchat
import re
import os
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator
import numpy as np
import PIL.Image as Image
import jieba
import time
#以上是我用到的一些庫,這些根據(jù)個人不同需要安裝某些庫
#運行到此處會自動生成一個二維碼,打開手機(jī)微信,掃一掃即可登錄
itchat.login()
friends = itchat.get_friends(update=True)[0:]
tList = []
for i in friends:
#用正則表達(dá)式過濾掉 span ,class,emoji。NickName表示微信好友的昵稱;
signature = i["NickName"].strip().replace("span","").replace("class","").replace("emoji","")
rep = re.compile("1f\d.+")
signature = rep.sub("",signature)
print signature
tList.append(signature)
#拼接字符串
text = "".join(tList)
#jieba分詞
wordlist_jieba = jieba.cut(text,cut_all=True)
wl_space_split = " ".join(wordlist_jieba)
#wordcloud
d = os.path.dirname(__file__)
alice_coloring = np.array(Image.open(os.path.join(d,"hot.png"))) #設(shè)置一個背景圖片,文章中會附上
my_wordcloud = WordCloud(background_color="white",max_words=2000,mask=alice_coloring,max_font_size=37, random_state=42,
font_path="./handan.ttf").generate(wl_space_split)
#此處使用的字體一定是支持中文的字體,當(dāng)然,如果你確定你好友的昵稱都是英文,那么請忽略,字體的路徑可以是相對路徑,也可以是你的系統(tǒng)字體
image_colors = ImageColorGenerator(alice_coloring)
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
time.sleep(3)
plt.close() #圖片關(guān)閉后將圖片發(fā)送至手機(jī),保存圖片,并發(fā)送至手機(jī)
my_wordcloud.to_file(os.path.join(d, "wechat_cloud.png"))
itchat.send_image("wechat_cloud.png", 'filehelper')
至此,打開你的手機(jī),進(jìn)入到文件傳輸助手,你會收到一張圖片,這就是使用微信好友昵稱制作的詞云,下面附上一張我本人的


以上這篇Python 微信之獲取好友昵稱并制作wordcloud的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
win10下Python3.6安裝、配置以及pip安裝包教程
下面小編就為大家?guī)硪黄獁in10下Python3.6安裝、配置以及pip安裝包教程。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
Pytorch?autograd與邏輯回歸的實現(xiàn)詳解
這篇文章主要為大家介紹了Pytorch?autograd與邏輯回歸的實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Python壓縮包處理模塊zipfile和py7zr操作代碼
目前對文件的壓縮和解壓縮比較常用的格式就是zip格式和7z格式,這篇文章主要介紹了Python壓縮包處理模塊zipfile和py7zr,需要的朋友可以參考下2022-06-06
Python os模塊中的isfile()和isdir()函數(shù)均返回false問題解決方法
這篇文章主要介紹了Python os模塊中的isfile()和isdir()函數(shù)均返回false問題解決方法,返回false的原因是路徑使用了相對路徑,使用絕對路徑就可以解決這個問題,需要的朋友可以參考下2015-02-02

