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)文章
Python return語句如何實現(xiàn)結(jié)果返回調(diào)用
這篇文章主要介紹了Python return語句如何實現(xiàn)結(jié)果返回調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10Django Docker容器化部署之Django-Docker本地部署
這篇文章主要介紹了Django Docker容器化部署之Django-Docker本地部署,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Python loguru日志庫之高效輸出控制臺日志和日志記錄
這篇文章主要介紹了python loguru日志庫之高效輸出控制臺日志和日志記錄的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03python算法學(xué)習(xí)雙曲嵌入論文代碼實現(xiàn)數(shù)據(jù)集介紹
由于雙曲嵌入相關(guān)的文章已經(jīng)有了一系列的代碼。本篇博客主要目的實現(xiàn)最開始的雙曲嵌入論文,將論文中有些直接寫出來的內(nèi)容進(jìn)行了細(xì)節(jié)的推導(dǎo),同時實現(xiàn)對應(yīng)的代碼2021-11-11