【Python】哄女朋友的那些奇技淫巧

  • 2019 年 10 月 8 日
  • 筆記

聲明

「以下所有模組均可

使用pip直接安裝」

說python是

所有程式語言裡面

最奇葩的語言

這肯定是沒錯了

它可以做

自動化,爬蟲,數據,AI,機器學習

這些我們暫且不說

可是它竟然還可以

撩妹

撩到妹

定位女朋友

和女朋友聊天

天天和女朋友早晚安

給女朋友打電話

討女朋友開心

讓女朋友崇拜你

………

怎麼樣?

夠厲害吧

趕緊跟著狗哥

來看看python裡面的奇技淫巧吧!

pinyin

第一個就是我們的pinyin模組了,這個模組騷就騷在可以直接把中文漢字轉化成中文的漢語拼音,甚至連第幾聲發音都可以給你搞出來,具體使用很簡單,導入後直接使用get方法即可:

import pinyin transf = pinyin.get("狗哥")

trans2 = pinyin.get("狗哥", format="strip")

qrcode

下面這個是我們的二維碼生成器,可以將文字,號碼,網址存放在二維碼中,只需要只用make方法去生成二維碼,如何使用save方法保存二維碼圖片即可。很簡單的兩部搞定!下面我們來看一個栗子:

import qrcode

words='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU1NDcwNTE2OA==&scene=126#wechat_redirect'

img = qrcode.make(words)

img.save('test.png')

img.show()

myqr
如果說剛剛的qrcode已經足夠神奇了的話,那這個將會更加神奇,因為它可以以圖片為背景來生成二維碼,背景圖片可以是動態gif也可以是靜態jpg,png,整個生成二維碼的步驟也要比上面簡單許多,你甚至都不需要敲程式碼就可以享受到動態二維碼的美好,可以直接在終端(cmd)敲一句口令即可生成二維碼!(需要安裝好myqr)

myqr "https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU1NDcwNTE2OA==&scene=126#wechat_redirect" -v 1 -l Q -n "s_qr.gif" -p s.gif -con 1.2 -bri 1.2 -c

整個口令你需要修改的就是:

url網址修改成你需要的

s.gif修改成你自己圖片的地址

其他的參數你不知道什麼意思均可以不動

如果想了解具體參數是什麼意思,可參考狗哥公眾號內python生成二維碼那片文章。

效果如下:

jieba
jieba,真的就是結巴的意思,主要是用來進行分詞的。

jieba 可以把一句話拆分成多個詞。

從一句話(一段話)中提取最重要的幾個關鍵詞。

最常用的功能應該就是這些吧,分詞之後結合 TF-IDF,就可以做搜索工具和相關推薦了。

狗哥推薦:結合本次推薦的這些模組,使用結巴工具來和女朋友聊天,是個不錯的主意!

下面看看切割示範:

import jieba string = "大家都說狗哥好,狗哥帥氣人又好" sl = jieba.cut(string, cut_all=True) print('全的模式:', list(sl)) sl = jieba.cut(string, cut_all=False) print("精確模式:", list(sl)) sl = jieba.cut(string) print('搜索模式:', list(sl))

結巴還有很多高級的方法,希望大家多多發掘,如果實在懶,在狗哥的公眾號裡面搜一下也就找到了。

itchat/wxpy
itchat和wxpy這兩個模組功能都差不多,都是用於微信聊天的,可以用來獲取朋友圈好友的數據,也可以用來和好友聊天自動回復等等。(接上圖靈機器人也是無敵了)

使用itchat很簡單,導入模組後調用login方法便可以直接掃碼登陸了:

import itchat itchat.login()

登陸了之後可以通過get_friends方法獲取到所有的微信好友

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

至於獲取微信好友要幹啥,那就隨你了,狗哥直接教你發送消息吧,直接使用send方法指明發送對象即可:

users = itchat.search_friends("親愛的") userName = users[0]['UserName'] print(userName) itchat.send('親愛的,送你一個楊樹林要不要?', toUserName=userName)

這邊狗哥直接選擇了一個用戶直接發送消息

當然,我們除了發送消息,還可以設置自動回復:

定義幾個方法,調用itchat自帶的裝飾器即可:

from itchat.content import * def reply(msg): itchat.send(('23333'), msg['FromUserName']) @itchat.msg_register([PICTURE]) def pic_replay(msg): itchat.send(('最近又漂亮了'), msg['FromUserName']) @itchat.msg_register([RECORDING]) def rec_replay(msg): itchat.send(('連聲音都是這麼迷人'), msg['FromUserName']) @itchat.msg_register([VIDEO,]) def video_replay(msg): itchat.send(('我沒流量了,影片打不開啊'), msg['FromUserName']) @itchat.msg_register([SHARING]) def share_replay(msg): itchat.send(('這鏈接我這麼怎麼點不進去啊'), msg['FromUserName'])

沒錯定義好回復的對象,只要登陸上了,這些回復就會生效了!

狗哥測試的一個例子:

wordcloud
下面這個看起來比較鬼畜,但是其實在數據可視化裡面它的用處還是比較強大的。

詞雲這個東西一般與numpy,matplotlib,jieba,pillow連用,用起來也是挺麻煩的

狗哥這裡整理了一個簡單的版本供大家參考:

import numpy as np from PIL import Image import re import jieba from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS import matplotlib.pyplot as plt with open('content.txt', 'r', encoding='utf-8') as f: word = (f.read()) f.close() # 圖片模板和字體 image = np.array(Image.open('ditu.jpg')) font = r'C:\Windows\fonts\msyh.ttf' # 去掉英文,保留中文 resultword = re.sub("[A-Za-z0-9[`~!@#$^&*()=|{}" "':;',[].<>/?~。@#\&*%]", "", word) wordlist_after_jieba = jieba.cut(resultword) wl_space_split = " ".join(wordlist_after_jieba) # 設置停用詞 sw = set(STOPWORDS) # 關鍵一步 my_wordcloud = WordCloud(scale=4, font_path=font, mask=image, stopwords=sw, background_color='white', max_words=100, max_font_size=60, random_state=20). generate(wl_space_split) # 顯示生成的詞雲 plt.imshow(my_wordcloud) plt.axis("off") plt.show() # 保存生成的圖片 my_wordcloud.to_file('result.jpg')