大致介紹 好久沒有寫博客了,正好今天有時間把前幾天寫的利用python定時發送QQ郵件記錄一下 1、首先利用request庫去請求數據,天氣預報使用的是和風天氣的API(www.heweather.com/douments/api/s6/weather-forecast) 2、利用python的ji ...
大致介紹
好久沒有寫博客了,正好今天有時間把前幾天寫的利用python定時發送QQ郵件記錄一下
1、首先利用request庫去請求數據,天氣預報使用的是和風天氣的API(www.heweather.com/douments/api/s6/weather-forecast)
2、利用python的jinja2模塊寫一個html模板,用於展示數據
3、python的email構建郵件,smtplib發送郵件
4、最後使用crontab定時執行python腳本
涉及的具體知識可以去看文檔,本文主要就是解釋代碼的結構
和風天氣API
API沒什麼好說的,利用requests庫去請求數據,然後提取出數據,使用方法和風天氣API說的很詳盡了
HTML模板
利用jinja2在和腳本同級的目錄寫一個HTML模板
寫好模板,我們就需要在腳本中引入他,並給他傳遞數據
email構建郵件,smtplib發送郵件
註意:
1、首先需要開啟QQ郵箱的SMTP服務,一般埠是465
2、在構建郵件和發送郵件時都需要接受者的郵箱,但是他們需要的數據格式是不同的,在構建郵件時,接受者郵箱需要轉換成一個string,而在發送郵件時,接受者郵箱必須是一個list
crontab定時發送郵件
我想對crontab說:
這個crontab真的是大坑,坑了我好久,坑的我不行不行的
既然你們誠心誠意的發問了,那我就大發慈悲的告訴你們是那些坑吧
1、在crontab中要寫絕對路徑,包括python3,查看python的安裝位置:
2、如果腳本中涉及了中文,記得一定要寫export LANG="****",如果不知道屬性是什麼:
然後 crontab -e寫入類似下麵的代碼:
表示在每晚的22:00執行腳本,具體的crontab語法可以自行搜索
郵件:
ok