天天看點

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

前言

之前發過一篇文章,用 Python 制作的給父母天氣預報提醒的小工具天氣變冷了,給父母制作一個天氣提醒小助手,這篇文章我同步到部落格上之後,有讀者在評論區留言,對于部分微信沒有網頁版接口,導緻無法實作這個功能,這位讀者建議,建議用發短信的方式,這樣,就不會受限于微信的限制。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信
誰說程式員不懂浪漫?用Python每天自動給女朋友發短信
誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

這是一個好方法,今天的教程就是教大家怎麼發送免費短信給女朋友。

發送短信接口,我知道的常見的有兩個平台,一個是 twilio,可以免費發短信 500 條,可發任意資訊,一個是騰訊雲,可以免費發短信 100 條,需要申請短信發送内容模闆。

鑒于 twilio 免費次數多一些,是以,這次我們就 twilio來發送當天的天氣資訊給爸媽了。

twilio注冊

要發送短信,我們需要現在 twilio 官網注冊一個賬号。

https://www.twilio.com/
           

點選 Sign Up 注冊一個賬号。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

填寫郵箱和密碼等資料,送出後會有一個判斷是否為機器人的驗證,點選左右箭頭使圖案顯示為正圖就可以了。

再到剛才填寫的郵箱中去驗證下,需要填入手機号驗證。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

剛開始用了移動号發了兩次都沒有收到驗證碼,不知道什麼原因,之後換了電信後就收到了驗證碼。

驗證成功後會提示選擇是否通過代碼調用。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

選擇 yes 後再選擇對應的語言,我們當然是選擇 Python 了。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

擷取試用号

選擇使用用途後,可以就可以擷取一個試用的号碼了,點選 Get a Trial Number 按鈕。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

我們可以看到系統給我提供的這個号碼。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

點選确定後就會出現成功的頁面,顯示 Twilio 提供的号碼,這個号碼就是用來發送短信的。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

擷取号碼成功後自動跳回到首頁,下方有 Python 調用短信接口的示例。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

進入接口調用說明後,我們看到右邊直接由 Python 調用接口發短信的示例。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

我們直接拿來用即可,把代碼中 account_sid 和 auth_token 替換成自己的,這個兩個值在剛才顯示号碼那個頁面。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

再把 message 中的 body 換成你自己的文本,把發送資訊的号碼換成官方提供的号碼。

接收号驗證

接收号碼在使用前,需要在 Twilio 上驗證下,點選右側的 verified numbers 進入,添加号碼。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

因為這是免費版,是以隻支援一個号碼,如果之前有驗證号碼的話,我們需要點選右側的 X 把這個号碼号碼删除才能添加新的号碼。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

點選驗證号碼的按鈕後,在彈出的頁面選擇左下方的 text you instead,也就是用短信驗證碼來驗證新添加的号碼,你要發給女朋友,當然,這個接收的号碼都填女朋友的了。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

填入号碼後,點選驗證,等待驗證碼。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

我分别試了移動号、聯通号、電信号,發現電信号和聯通卡能正常收到驗證碼通過驗證,移動号發了幾次都收不到驗證碼,卡裡是有餘額的,可能是移動卡不支援這個接口,大家可以試試。

代碼調試

運作代碼前,不要忘了把 twilio 庫用 pip 指令安裝下。

pip install twilio
           

然後把代碼中的幾個值替換成自己的。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

把剛才驗證成功的号添加到代碼中,運作代碼,成功後就會收到發送的短信。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

然後我們把之前的天氣資訊用短信發出去,當然你可以發送其他資訊。這裡我為了偷懶,用之前的天氣資訊。

之前的代碼中把微信相關的去掉,天氣接口部分保留。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

把其中的 key 換成自己的,具體操作詳見這篇文章天氣變冷了,給父母制作一個天氣提醒小助手。

把剛才發送短信的内容替換成天氣接口傳回的資訊 msg,定時操作的代碼和之前一樣。

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

運作代碼後的效果如下:

誰說程式員不懂浪漫?用Python每天自動給女朋友發短信

同樣,我還是把程式放在伺服器上,第二天同一時間會繼續發送當天的天氣資訊,我設定的是相隔 24 小時,當然,你可以改變相隔時間。