歡迎光臨
每天分享高質量文章

情人節教你如何用Python表白

來源:騰訊課堂Coding學院

ID:ke_coding

又到一年情人節,今年的七夕,你脫單了嗎?如果沒脫單,那麼不要方,我也沒有,如果脫單了,那你點進來幹嘛呢!

 


單身久了,可能就真的習慣了一個人,習慣了一個人的孤單、悲傷,也習慣了堅強。


可是,你單身的原因又是什麼呢?是因為不想將就?不想隨便說愛?還是因為沒有遇見那個Ta……


緣分真的莫名其妙,我們每天與那麼多的人擦身而過,也許其中的某一人就是陪伴我們走過一生那一個。


不要錯過是我們獲得幸福的重要法寶,喜歡Ta當然要告訴Ta,要知道你並不缺少朋友,你需要的是一個愛人。在七夕這個浪漫的日子,拿出自己積蓄已久的勇氣,大聲表白Ta吧!


表白的方式千千萬萬

送花太普通~

燭光晚餐沒新意~

看電影沒重點~

播妞可是為了大家的幸福準備了一個表白神器

這可是程式員小哥哥熬夜加班開發出來的

噹噹當


利用Python技術製作了一個小工具,實現實時監控微信聊天記錄

  • 需填入對方姓名,並執行該程式,會根據聊天內容生成詞雲圖(暫時不支援根據歷史聊天記錄生成詞雲圖

  • 執行需要安裝python程式設計環境


 

究竟是如何實現的呢?看大神的操作


微信聊天生成詞雲使用說明:


一.登入微信,監聽關註的微信好友,儲存資訊:
我們執行wx_word.exe這個程式,會彈出一個二維碼(跟平時登入微信的二維碼一樣),掃描二維碼之後,根據提示會讓你輸入關註的微信好友名稱(註意:名稱是微信好友的備註名)。


之後你與對方的聊天記錄就被你監聽並儲存到本地(資訊儲存本地,不必擔心聊天資訊洩露)。


二.生成詞雲圖:

當你想生成詞雲圖的時候,執行word_parse.py指令碼檔案(執行指令碼檔案需要安裝python3及以上版本的編譯環境),執行完成之後,便會生成心形的詞雲圖。 


三.執行的環境:

  1. windows電腦

  2. 安裝python3及以上版本的編譯環境 

  3. 安裝幾個必要的python庫


wxpy獲取實時微信聊天記錄

我們使用wxpy庫監聽微信好友的聊天,然後收集與好友的實時聊天記錄

# 獲取好友聊天
@bot.register(my_friend)
def print_others(msg):
    
# 輸出監聽到的訊息
    
if msg.text:
        
f = open(‘data.txt’‘a’)
        
f.write(msg.text + ‘\n’)      
embed()

jieba分詞

我們利用jieba 庫對記錄進行分詞操作,能將一個句子分為單個詞語。我們對jieba做一個簡單的瞭解,以下為官方檔案中的一部分:


jieba.cut 方法接受三個輸入引數: 需要分詞的字串;cut_all 引數用來控制是否採用全樣式;HMM 引數用來控制是否使用 HMM 模型

程式碼示例:

# encoding=utf-8
import jieba

seg_list = jieba.cut(“我來到北京清華大學”cut_all=True)
print(“Full Mode: “ + “/ “.join(seg_list))  # 全樣式

seg_list = jieba.cut(“我來到北京清華大學”cut_all=False)
print(“Default Mode: “ + “/ “.join(seg_list))  # 精確樣式

seg_list = jieba.cut(“他來到了網易杭研大廈”)  # 預設是精確樣式
print(“, “.join(seg_list))

seg_list = jieba.cut_for_search(“小明碩士畢業於中國科學院計算所,後在日本京都大學深造”)  # 搜尋引擎樣式
print(“, “.join(seg_list))

輸出:

【全樣式】: 我/ 來到/ 北京/ 清華/ 清華大學/ 華大/ 大學

【精確樣式】: 我/ 來到/ 北京/ 清華大學

【新詞識別】:他, 來到, 了, 網易, 杭研, 大廈    (此處,“杭研”並沒有在詞典中,但是也被Viterbi演演算法識別出來了)

【搜尋引擎樣式】: 小明, 碩士, 畢業, 於, 中國, 科學, 學院, 科學院, 中國科學院, 計算, 計算所, 後, 在, 日本, 京都, 大學, 日本京都大學, 深造

wordcloud庫

我們使用wordcloud包生成詞雲圖,首先瞭解一下其用法:

# wordcloud.WordCloud的一些可控引數
class wordcloud.WordCloud(font_path=Nonewidth=400height=200margin=2ranks_only=None,prefer_horizontal=0.9,mask=Nonescale=1color_func=Nonemax_words=200min_font_size=4,stopwords=Nonerandom_state=None,background_color=‘black’max_font_size=Nonefont_step=1,mode=‘RGB’relative_scaling=0.5regexp=Nonecollocations=True,colormap=None,normalize_plurals=True)

心形詞雲圖:

為了生成心形的詞雲,我們首先找一張心形的圖片:

 

程式碼示例:

# 生成詞雲圖
pic = imread(‘./xin.jpg’)
wc = wordcloud.WordCloud(mask=picfont_path=‘./simhei.ttf’width=500height=300,background_color=‘white’).generate(word)
# 儲存詞雲圖
wc.to_file(os.path.join(d“wechat_cloud.png”))
# 用plt將圖畫出來
plt.imshow(wc)
plt.axis(‘off’)
plt.show()

效果圖:下圖是小編自己的聊天資訊生成的圖,感覺是不是很棒啊!!!

趕緊學一招然後發給心儀的那個Ta吧!

《Linux雲端計算及運維架構師高薪實戰班》2018年08月27日即將開課中,120天衝擊Linux運維年薪30萬,改變速約~~~~

    *宣告:推送內容及圖片來源於網路,部分內容會有所改動,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。

    – END –


    更多Linux好文請點選【閱讀原文】

    ↓↓↓

    贊(0)

    分享創造快樂