2 分鐘,教你用 Serverless 每天給女朋友自動發(fā)土味情話
點(diǎn)擊上方卡片了解活動詳情!
立即參加:
https://developer.aliyun.com/topic/serverless2022
阿 Ser 從 Serverless 函數(shù)計(jì)算評測大賽中精選了一些優(yōu)秀征文,下面我們一起看下“是安可啊” 使用阿里云函數(shù)計(jì)算 FC 后的真實(shí)測評吧!
Serverless 簡介
1.Serverless 架構(gòu)
主要包含兩部分:BaaS 和 FaaS,通常位于云端,使用時不需要關(guān)注最底層的服務(wù)器。
BaaS(后端即服務(wù):Backend as a Service)包括對象存儲、云數(shù)據(jù)庫、API 網(wǎng)關(guān)、消息推送等。
FaaS(函數(shù)即服務(wù):Functions as a Service)對計(jì)算能力進(jìn)行了抽象,可以在無需管理服務(wù)器的情況下響應(yīng)事件。
2.Serverless 三大應(yīng)用場景
場景一:事件觸發(fā)場景,有事件觸發(fā)時才會執(zhí)行。
場景二:流量突發(fā)場景,遇到突發(fā)大流量情況時,Serverless 架構(gòu)下按需加載,彈性伸縮,節(jié)省資源,負(fù)載均衡。
場景三:大數(shù)據(jù)處理場景,用戶只需要上傳核心代碼到函數(shù)計(jì)算,就可以快速完成整個工作。
3.Serverless 的優(yōu)勢
具體可以查看阿里云相關(guān)文檔: https://developer.aliyun.com/group/serverless
Python 實(shí)現(xiàn)發(fā)送郵件
import requestsimport yagmail # 此模塊用于發(fā)郵件import schedule # 此模塊用于計(jì)劃任務(wù)from bs4 import BeautifulSoupimport reran = 0url = 'https://tianqi.2345.com/cixian1d/70177.htm' # 定義天氣預(yù)報的urlloveurl = 'https://www.guaze.com/juzi/23389.html' # 定義情話的urldef email():global ran # 將ran變量聲明為全局變量web = requests.get(url)# print(web.text)page = BeautifulSoup(web.text,"html.parser")# print(ran)# print(love[ran])weather = page.find("div",class_="real-today")# print(weather.text)web2 = requests.get(loveurl)web2.encoding = 'gb2312'page = BeautifulSoup(web2.text, "html.parser")div = page.find('div', class_="content")div = str(div.text)# print(div)grep = re.compile(r"\d+、(.*)")content = grep.findall(div)# print(content)# email函數(shù)內(nèi)的內(nèi)容是爬取天氣和情話的,具體的地址天氣你可以更換urlyag = yagmail.SMTP(host='smtp.qq.com', user='[email protected]', # 如過用的是qq郵箱就寫smtp.qq.com,如果是163就寫smtp.163.compassword='xhaztrwpjffpbdhh', smtp_ssl=True # 授權(quán)碼在qq郵箱里開啟smtp就會生成一個)weather = [weather.text,"每日情話:",content[ran], # 定義發(fā)送內(nèi)容yagmail.inline(r"/.love.jpg") # 附件圖片,不發(fā)圖片可以刪掉]yag.send(to=['[email protected]'],subject='早鴨', # 郵件主題contents=weather # 發(fā)送的內(nèi)容為上面定義的weather,其中weather.text是天氣預(yù)報,content[ran]是情話)print("發(fā)送完成")ran += 1schedule.every().day.at("05:21").do(email) # 每天5點(diǎn)20分執(zhí)行函數(shù)email0#schedule.every(10).seconds.do(email) #每10秒執(zhí)行一下函數(shù)email的內(nèi)容,我這里用于測試while True:schedule.run_pending(
部署到阿里云 Serverless,實(shí)現(xiàn)自動發(fā)送
1.登錄到阿里云首頁
2.選擇產(chǎn)品->彈性計(jì)算->Serverless->函數(shù)計(jì)算

3.進(jìn)入控制臺->服務(wù)及函數(shù)->創(chuàng)建函數(shù)





4.上傳代碼->上傳文件夾->選擇文件夾->保存并部署




5.函數(shù)配置->編輯環(huán)境信息->修改函數(shù)入口


6.添加觸發(fā)器,實(shí)現(xiàn)每日定時發(fā)送
觸發(fā)器管理->創(chuàng)建觸發(fā)器->定時觸發(fā)器->填寫名稱和指定時間



7.導(dǎo)入依賴并部署
先在終端執(zhí)行以下三條命令,導(dǎo)入項(xiàng)目所需要的依賴:
pip3 install yagmail -t .pip3 install schedule -t .pip3 install bs4 -t .

點(diǎn)擊右上角保存并部署:

最終效果展示
點(diǎn)擊左上角測試函數(shù),然后通過實(shí)時日志查看運(yùn)行結(jié)果:




總結(jié)
這次實(shí)戰(zhàn)是對 Serverless 的一次深刻的理解,收獲技術(shù)的同時也提升了自己的學(xué)習(xí)能力。
由于目前正在準(zhǔn)備考研,就好久沒有更新關(guān)于自學(xué)技術(shù)的文章,這回借著阿里云官方評測活動也去學(xué)一學(xué)火熱的 Serverless 無服務(wù)架構(gòu)的技術(shù)和思想,在這里分享這個當(dāng)下流行的技術(shù),然后結(jié)合著一些個人淺顯的探索,希望能和大佬們共同學(xué)習(xí)成長!
戳下方,立即查看原文!評論
圖片
表情


