Python定時發(fā)送天氣預(yù)報郵件代碼實例
這篇文章主要介紹了Python定時發(fā)送天氣預(yù)報郵件代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
用python爬蟲爬到的天氣預(yù)報,使用smtplib和email模塊可以發(fā)送到郵箱,使用schedule模塊可以定時發(fā)送。以下是代碼~
#導(dǎo)入模塊
import requests
from bs4 import BeautifulSoup
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import schedule
import time
#輸入郵箱發(fā)件人、收件人以及郵箱的授權(quán)碼
account = str(input('請輸入發(fā)件人郵箱地址:'))
password = str(input('請輸入郵箱授權(quán)碼:'))
receiver = str(input('請輸入收件人郵箱地址:'))
#建立天氣網(wǎng)爬蟲,爬取天氣信息
def weather_spider():
#模擬瀏覽器:
headers={
'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}
url='http://www.weather.com.cn/weather/101211001.shtml'
#數(shù)據(jù)獲取:
res=requests.get(url,headers=headers)
res.encoding='utf-8'
#數(shù)據(jù)解析:
soup=BeautifulSoup(res.text,'html.parser')
#數(shù)據(jù)提?。?
tem1= soup.find(class_='tem')
weather1= soup.find(class_='wea')
tem=tem1.text
weather=weather1.text
return tem,weather
#發(fā)送郵件的代碼
def send_email(tem,weather):
global account,password,receiver
mailhost='smtp.qq.com'
qqmail = smtplib.SMTP()
qqmail.connect(mailhost,25)
qqmail.login(account,password)
content= '衢州的天氣是:\n'+tem+weather
message = MIMEText(content, 'plain', 'utf-8')
subject = '今日天氣預(yù)報from python'
message['Subject'] = Header(subject, 'utf-8')
try:
qqmail.sendmail(account, receiver, message.as_string())
print ('郵件發(fā)送成功')
except:
print ('郵件發(fā)送失敗')
qqmail.quit()
#建立任務(wù)
def job():
print('開始一次任務(wù)')
tem,weather = weather_spider()
send_email(tem,weather)
print('任務(wù)完成')
#定時發(fā)送
schedule.every().day.at("7:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Pycharm配置翻譯插件Translation報錯更新TTK失敗不能使用的問題
這篇文章主要介紹了關(guān)于Pycharm配置翻譯插件Translation報錯更新TTK失敗不能使用的問題,本文通過圖文并茂的形式給大家分享解決方案,需要的朋友可以參考下2022-04-04
Python深度學(xué)習(xí)pytorch神經(jīng)網(wǎng)絡(luò)塊的網(wǎng)絡(luò)之VGG
雖然AlexNet證明深層神經(jīng)網(wǎng)絡(luò)卓有成效,但它沒有提供一個通用的模板來指導(dǎo)后續(xù)的研究人員設(shè)計新的網(wǎng)絡(luò)。下面,我們將介紹一些常用于設(shè)計深層神經(jīng)網(wǎng)絡(luò)的啟發(fā)式概念2021-10-10
Python中創(chuàng)建數(shù)值列表的4種方法總結(jié)
在Python中列表(List)是一種有序、可變的數(shù)據(jù)類型,被廣泛用于存儲和處理多個元素,這篇文章主要給大家介紹了關(guān)于Python中創(chuàng)建數(shù)值列表的4種方法,需要的朋友可以參考下2024-05-05
把項目從Python2.x移植到Python3.x的經(jīng)驗總結(jié)
這篇文章主要介紹了把項目從Python2.x移植到Python3.x的經(jīng)驗總結(jié),包括作者所使用的Jinja2框架中一些需要注意的地方,需要的朋友可以參考下2015-04-04
Python?seaborn數(shù)據(jù)可視化繪圖(直方圖,密度圖,散點圖)
這篇文章主要介紹了Python?seaborn數(shù)據(jù)可視化繪圖(直方圖,密度圖,散點圖),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07

