Ⅰ 如何讓你的微信自動回復笑話給朋友
您好!很高興能為您解答, 最近在網上轉悠, 無意中發現一個python庫:itchat, 這個庫能用來幹嘛呢, 用這個庫可以實現很多有趣的功能如: 微信群發、檢測好友是否被你拉黑、讓你的微信實現自動回復等。 原理大概是封裝了微信網頁版的http請求。 想起前幾天寫的爬取糗事網路的爬蟲, 覺得兩者可以合在一起, 把自己的微信做成一個可以自動回復段子的簡單機器人。
其實實現很簡單, 三十多行代碼就可實現, 以下是實現步驟:
第一步: 安裝itchat。 安裝方法有很多中, 我選擇的pip安裝:
$ pip install itchat
第二步: 把前幾天用爬蟲爬取的段子內容load到一個列表中。我的保存段子的文件是這樣的:
通過python的split等字元串函數把author fun等信息去掉, 只把content保存到列表中, 代碼實現很簡單:
第三步, 做一個隨機返回一個段子的介面:
第四步, 注冊處理微信文字回復的函數, 所有朋友發來的信息都會由下面的text_reply函數處理:
第五步, 實現關鍵字回復, 如你朋友發了帶"笑話"關鍵字的內容, 則隨機回復一條段子:
第六步, 實現main函數: 初始化段子列表、實現微信登錄、微信事件檢測:
以上步驟做完後, 運行funRobots.py, 會彈出一個二維碼, 用你的微信掃描二維碼, 然後當朋友給你的微信發帶「笑話」關鍵字的信息後你的微信就會自動回復對方你個段子。 是不是很有趣呢。
以下是做完以上操作後我給自己的微信發信息後,微信自動回復的結果:
是不是很有趣呢, 前段時間學的爬蟲終於派上用場了。python是不是很強大有趣呢。
最後貼上完整源碼:
以上只是個小例子,掌握了原理用其它語言實現也是可以的。在這里拋磚引玉,大家可以配合爬蟲隨意拓展出更多的功能
Ⅱ 我用了100行Python代碼,實現了與女神尬聊微信(附代碼)
朋友圈很多人都想學python,有一個很重要的原因是它非常適合入門。對於 人工智慧演算法 的開發,python有其他編程語言所沒有的獨特優勢, 代碼量少 ,開發者只需把精力集中在演算法研究上面。
本文介紹一個用python開發的,自動與美女尬聊的小軟體。以下都是滿滿的干貨,是我工作之餘時寫的,經過不斷優化,現在分享給大家。那現在就讓我們抓緊時間開始吧!
准備:
編程工具IDE:pycharm
python版本: 3.6.0
首先新建一個py文件,命名為:ai_chat.py
PS: 以下五步的代碼直接復制到單個py文件裡面就可以直接運行。為了讓讀者方便寫代碼,我把代碼都貼出來了,但是排版存在問題,我又把在pycharm的代碼排版給截圖出來。
第一步: 引入關鍵包
簡單介紹一下上面幾個包的作用: pickle 包 是用來對數據序列化存文件、反序列化讀取文件,是人類不可讀的,但是計算機去讀取時速度超快。(就是用記事本打開是亂碼)。 而 json包 是一種文本序列化,是人類可讀的,方便你對其進行修改(記事本打開,可以看到裡面所有內容,而且都認識。) gensim 包 是自然語言處理的其中一個python包,簡單容易使用,是入門NLP演算法必用的一個python包。 jieba包 是用來分詞,對於演算法大咖來說效果一般般,但是它的速度非常快,適合入門使用。
以上這些包,不是關鍵,學習的時候,可以先跳過。等理解整個程序流程後,可以一個一個包有針對性地去看文檔。
第二步:靜態配置
這里path指的是對話語料(訓練數據)存放的位置,model_path是模型存儲的路徑。
這里是個人編程的習慣,我習慣把一些配置,例如:文件路徑、模型存放路徑、模型參數統一放在一個類中。當然,實際項目開發的時候,是用config 文件存放,不會直接寫在代碼里,這里為了演示方便,就寫在一起,也方便運行。
第三步: 編寫一個類,實現導數據、模型訓練、對話預測一體化
首次運行的時候,會從靜態配置中讀取訓練數據的路徑,讀取數據,進行訓練,並把訓練好的模型存儲到指定的模型路徑。後續運行,是直接導入模型,就不用再次訓練了。
對於model類,我們一個一個來介紹。
initialize() 函數和 __init__() 函數 是對象初始化和實例化,其中包括基本參數的賦值、模型的導入、模型的訓練、模型的保存、最後返回用戶一個對象。
__train_model() 函數,對問題進行分詞,使用 gesim 實現詞袋模型,統計每個特徵的 tf-idf , 建立稀疏矩陣,進而建立索引。
__save_model() 函數 和 __load_model() 函數 是成對出現的,很多項目都會有這兩個函數,用於保存模型和導入模型。不同的是,本項目用的是文件存儲的方式,實際上線用的是資料庫
get_answer() 函數使用訓練好的模型,對問題進行分析,最終把預測的回答內容反饋給用戶。
第四步:寫三個工具類型的函數,作為讀寫文件。
其中,獲取對話材料,可以自主修改對話內容,作為機器的訓練的數據。我這里只是給了幾個簡單的對話語料,實際上線的項目,需要大量的語料來訓練,這樣對話內容才飽滿。
這三個工具函數,相對比較簡單一些。其中 get_data() 函數,裡面的數據是我自己編的,大家可以根據自己的習慣,添加自己的對話數據,這樣最終訓練的模型,對話方式會更貼近自己的說話方式。
第五步: 調用模型,進行對話預測
主函數main(), 就是你整個程序運行的起點,它控制著所有步驟。
運行結果:
程序後台運行結果:
如果有疑問想獲取源碼( 其實代碼都在上面 ),可以後台私信我,回復:python智能對話。 我把源碼發你。最後,感謝大家的閱讀,祝大家工作生活愉快!
Ⅲ 如何用python實現從感測器發送數據和消息到簡訊和微信等
該回答不涉及感測器選購以及如何使用Python調用,建議根據自己的機子自行淘寶或者參考別的問題(雖然現在沒有)
簡述:
* 語言:python 2.7.11
* 第三方庫:itchat
* 需要設備:採集濕度的設備(機房的電腦?),感測器,一個139郵箱(如果需要簡訊提示的話)
流程:
* 確定機子以及感測器
* 通過說明書(或者店主...)學會了通過Python獲取感測器數據
* 編寫判斷語句,在命令行輸出警告
* 將微信提示或郵箱提示替換警告的方式
微信個人號通知:
import itchat
itchat.auto_login()
itchat.send('Temperature warning')
這個插件的文檔在這里:itchat
郵箱通知:
我寫了一個簡單的Demo: EasierLife/Plugins/MailNotification at master · littlecodersh/EasierLife · GitHub
from MailNotification import MailNotification
with MailNotification() as mail:
mail.send_notification('Temperature warning')
簡訊通知:
你可以選擇使用各種簡訊平台,但最簡單的方式是注冊一個139郵箱,然後通過上面郵箱通知的方法發送郵件,你會收到相應的簡訊提示。
Ⅳ Python 里itchat 模塊能實現什麼有趣的東西
只用標准庫是吧,不用任何第三方模塊或者軟體是吧,沒問題,我來展示一個用Python寫的GIF動態圖,演示的是概率論中的WilsonUniformSpanningTree演算法(也是一個迷宮生成演算法),連tkinter,turtle之類的發行版內置的圖形庫都統統不需要。
Ⅳ Python使用itchat無法登陸
我直接給你關於ichat的源碼吧,你看你就知道了,是關於用Python查看微信撤回消息的,對你實際生活也有用 密碼:wp15
Ⅵ 如何通過python的itchat庫收到有人加入群聊的新消息
作者:LittleCoder鏈接:/question/51160419/answer/124460961來源:知乎著作權歸作者所有,轉載請聯系作者獲得授權。普通的網頁點擊:1.建議通過瀏覽器或者Wireshark分析消息的交互。2.之後通過requests模擬。由於沒有具體的網址,我沒有法給出具體的代碼。給公眾號發送特定的問題:1.建議使用Python的 API(pipinstallitchat)2.由於沒有提供Python版本,我這里給出兼容的解決方案#coding=_IN_MP_DICT={u'學校 公眾號':u'學校簽到口令',u'公司 公眾號':u'公司簽到口令',}defget_day(timeGap):returnint(time.strftime('%y%m%d',time.localtime(time.time()+timeGap)))NEXT_SIGN_DATE=get_day(60*60*24)defsign_in_thread():'''簽到線程如果尚未到需要簽到的日期,則繼續循環如果到了需要簽到的日期,則完成兩個公眾號的簽到,並更新日期'''while1:ifget_day
Ⅶ Python 里itchat 模塊能實現什麼有趣的東西
1.防止撤回消息
2.檢測程序運行,控製程序運行
3.聊天機器人
4.與微軟小冰獲取免費的表情包
5.實現跨群聊天
6.檢測是否有好友刪掉你
7.裝逼,命令行聊wechat
8.寫一個linux端的仿wechat客戶端
Ⅷ python如何通過命令pip install itchat來下載itchat包啊,剛入門的
如果你python環境已設置好,打卡終端直接輸入pip install itchat
Ⅸ 用python怎麼設計一個微信的介面
最近一段時間想看看能不能用萬能的python來對微信進行一些操作(比如自動搶紅包之類的...hahahaha),所以就在此記錄一下啦~~
1、安裝
sudo pip install itchat
2、登錄
itchat.auto_login()
註:itchat.auto_login()這種方法將會通過微信掃描二維碼登錄,但是這種登錄的方式確實短時間的登錄,並不會保留登錄的狀態,也就是下次登錄時還是需要掃描二維碼,如果加上hotReload==True,那麼就會保留登錄的狀態,至少在後面的幾次登錄過程中不會再次掃描二維碼,該參數生成一個靜態文件itchat.pkl用於存儲登錄狀態
itchat.auto_login(hotReload=True)
3、退出登錄
主要使用的是回調函數的方法,登錄完成後的方法需要賦值在 loginCallback中退出後的方法,需要賦值在 exitCallback中.若不設置 loginCallback的值, 將會自動刪除二維碼圖片並清空命令行顯示.
import itchat,time
def lcb():
print("登錄完成!")
def ecb():
print("退出成功!")
itchat.auto_login(loginCallback=lcb,exitCallback=ecb) #源碼中規定需要用回調函數。
time.sleep(10)
itchat.logout() #強制退出登錄
4、發送消息
send()
itchat.send(msg="WANGPC的微信消息!",toUserName="filehelper") #返回值為True或Flase
或者:
send_msg
send_msg(msg='Text Message', toUserName=None),其中的的msg是要發送的文本,toUserName是發送對象, 如果留空, 將發送給自己,返回值為True或者False
實例代碼
send_file
send_file(fileDir, toUserName=None) fileDir是文件路徑, 當文件不存在時, 將列印無此文件的提醒,返回值為True或者False
實例代碼
send_image
send_image(fileDir, toUserName=None) 參數同上
實例代碼
send_video
send_video(fileDir, toUserName=None) 參數同上
實例代碼
Ⅹ Python 里itchat 模塊能實現什麼有趣的東西
把itchat和圖靈機器人接上,讓圖靈機器人和微軟小冰聊天。
我是用來做公眾號推送監控的。
因為工作需要,需要密切監視一批(大概五六十個)公眾號的推送內容,以前是用搜狗,可以一次性添加之後用類似RSS閱讀器的方式查看,雖然還需要人工打開頁面,但是比起一個個在微信上查看還是輕松點,可惜後來搜狗取消了這個功能。
於是,我就用itchat的封裝版wxpy做了一個簡單的監控系統。注冊一個全新的微信個人號,分批關注需要監控的公眾號(注意,目前微信似乎對一次性關注大量公眾號有限制,可能超過四五時候就會被限制一天內不能新關注了),然後寫一個小程序要求他們一旦收到公眾號推送,就獲取標題和鏈接,推送到我一個指定的監控專用微信群,等待同事們的進一步響應——當然,其實如果需要,可以直接在程序中對於這些公眾號內容做我需要的處理。
不過itchat在公眾號的監控上有一個bug,它能夠跟蹤返回的只有公共號推送的第一條,對於那些多圖文的信息,後面幾條的內容無法獲取,這是一個遺憾。期望作者能夠早日修復。