誰(shuí)說(shuō)程序員不懂浪漫?用Python每天自動(dòng)給女朋友免費(fèi)發(fā)短信
前言
之前發(fā)過(guò)一篇文章,用 Python 制作的給父母天氣預(yù)報(bào)提醒的小工具天氣變冷了,給父母制作一個(gè)天氣提醒小助手,這篇文章我同步到博客上之后,有讀者在評(píng)論區(qū)留言,對(duì)于部分微信沒有網(wǎng)頁(yè)版接口,導(dǎo)致無(wú)法實(shí)現(xiàn)這個(gè)功能,這位讀者建議,建議用發(fā)短信的方式,這樣,就不會(huì)受限于微信的限制。

這是一個(gè)好方法,今天的教程就是教大家怎么發(fā)送免費(fèi)短信給女朋友。
發(fā)送短信接口,我知道的常見的有兩個(gè)平臺(tái),一個(gè)是 twilio,可以免費(fèi)發(fā)短信 500 條,可發(fā)任意信息,一個(gè)是騰訊云,可以免費(fèi)發(fā)短信 100 條,需要申請(qǐng)短信發(fā)送內(nèi)容模板。
鑒于 twilio 免費(fèi)次數(shù)多一些,所以,這次我們就 twilio來(lái)發(fā)送當(dāng)天的天氣信息給爸媽了。
twilio注冊(cè)
要發(fā)送短信,我們需要現(xiàn)在 twilio 官網(wǎng)注冊(cè)一個(gè)賬號(hào)。
- https://www.twilio.com/
點(diǎn)擊 Sign Up 注冊(cè)一個(gè)賬號(hào)。

填寫郵箱和密碼等資料,提交后會(huì)有一個(gè)判斷是否為機(jī)器人的驗(yàn)證,點(diǎn)擊左右箭頭使圖案顯示為正圖就可以了。
再到剛才填寫的郵箱中去驗(yàn)證下,需要填入手機(jī)號(hào)驗(yàn)證。

剛開始用了移動(dòng)號(hào)發(fā)了兩次都沒有收到驗(yàn)證碼,不知道什么原因,之后換了電信后就收到了驗(yàn)證碼。
驗(yàn)證成功后會(huì)提示選擇是否通過(guò)代碼調(diào)用。

選擇 yes 后再選擇對(duì)應(yīng)的語(yǔ)言,我們當(dāng)然是選擇 Python 了。

獲取試用號(hào)
選擇使用用途后,可以就可以獲取一個(gè)試用的號(hào)碼了,點(diǎn)擊 Get a Trial Number 按鈕。

我們可以看到系統(tǒng)給我提供的這個(gè)號(hào)碼。

點(diǎn)擊確定后就會(huì)出現(xiàn)成功的頁(yè)面,顯示 Twilio 提供的號(hào)碼,這個(gè)號(hào)碼就是用來(lái)發(fā)送短信的。

獲取號(hào)碼成功后自動(dòng)跳回到主頁(yè),下方有 Python 調(diào)用短信接口的示例。

進(jìn)入接口調(diào)用說(shuō)明后,我們看到右邊直接由 Python 調(diào)用接口發(fā)短信的示例。

我們直接拿來(lái)用即可,把代碼中 account_sid 和 auth_token 替換成自己的,這個(gè)兩個(gè)值在剛才顯示號(hào)碼那個(gè)頁(yè)面。

再把 message 中的 body 換成你自己的文本,把發(fā)送信息的號(hào)碼換成官方提供的號(hào)碼。
接收號(hào)驗(yàn)證
接收號(hào)碼在使用前,需要在 Twilio 上驗(yàn)證下,點(diǎn)擊右側(cè)的 verified numbers 進(jìn)入,添加號(hào)碼。

因?yàn)檫@是免費(fèi)版,所以只支持一個(gè)號(hào)碼,如果之前有驗(yàn)證號(hào)碼的話,我們需要點(diǎn)擊右側(cè)的 X 把這個(gè)號(hào)碼號(hào)碼刪除才能添加新的號(hào)碼。

點(diǎn)擊驗(yàn)證號(hào)碼的按鈕后,在彈出的頁(yè)面選擇左下方的 text you instead,也就是用短信驗(yàn)證碼來(lái)驗(yàn)證新添加的號(hào)碼,你要發(fā)給女朋友,當(dāng)然,這個(gè)接收的號(hào)碼都填女朋友的了。

填入號(hào)碼后,點(diǎn)擊驗(yàn)證,等待驗(yàn)證碼。

我分別試了移動(dòng)號(hào)、聯(lián)通號(hào)、電信號(hào),發(fā)現(xiàn)電信號(hào)和聯(lián)通卡能正常收到驗(yàn)證碼通過(guò)驗(yàn)證,移動(dòng)號(hào)發(fā)了幾次都收不到驗(yàn)證碼,卡里是有余額的,可能是移動(dòng)卡不支持這個(gè)接口,大家可以試試。
代碼調(diào)試
運(yùn)行代碼前,不要忘了把 twilio 庫(kù)用 pip 命令安裝下。
- pip install twilio
然后把代碼中的幾個(gè)值替換成自己的。

把剛才驗(yàn)證成功的號(hào)添加到代碼中,運(yùn)行代碼,成功后就會(huì)收到發(fā)送的短信。

然后我們把之前的天氣信息用短信發(fā)出去,當(dāng)然你可以發(fā)送其他信息。這里我為了偷懶,用之前的天氣信息。
之前的代碼中把微信相關(guān)的去掉,天氣接口部分保留。

把其中的 key 換成自己的,具體操作詳見這篇文章天氣變冷了,給父母制作一個(gè)天氣提醒小助手。
把剛才發(fā)送短信的內(nèi)容替換成天氣接口返回的信息 msg,定時(shí)操作的代碼和之前一樣。

運(yùn)行代碼后的效果如下:

同樣,我還是把程序放在服務(wù)器上,第二天同一時(shí)間會(huì)繼續(xù)發(fā)送當(dāng)天的天氣信息,我設(shè)置的是相隔 24 小時(shí),當(dāng)然,你可以改變相隔時(shí)間。