Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例
這篇文章主要介紹了Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
用python爬蟲(chóng)爬到的天氣預(yù)報(bào),使用smtplib和email模塊可以發(fā)送到郵箱,使用schedule模塊可以定時(shí)發(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('請(qǐng)輸入發(fā)件人郵箱地址:'))
password = str(input('請(qǐng)輸入郵箱授權(quán)碼:'))
receiver = str(input('請(qǐng)輸入收件人郵箱地址:'))
#建立天氣網(wǎng)爬蟲(chó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ù)報(bào)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('開(kāi)始一次任務(wù)')
tem,weather = weather_spider()
send_email(tem,weather)
print('任務(wù)完成')
#定時(shí)發(fā)送
schedule.every().day.at("7:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python return語(yǔ)句如何實(shí)現(xiàn)結(jié)果返回調(diào)用
這篇文章主要介紹了Python return語(yǔ)句如何實(shí)現(xiàn)結(jié)果返回調(diào)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Django Docker容器化部署之Django-Docker本地部署
這篇文章主要介紹了Django Docker容器化部署之Django-Docker本地部署,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
python開(kāi)發(fā)飛機(jī)大戰(zhàn)游戲
這篇文章主要為大家詳細(xì)介紹了python開(kāi)發(fā)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
Python loguru日志庫(kù)之高效輸出控制臺(tái)日志和日志記錄
這篇文章主要介紹了python loguru日志庫(kù)之高效輸出控制臺(tái)日志和日志記錄的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
python算法學(xué)習(xí)雙曲嵌入論文代碼實(shí)現(xiàn)數(shù)據(jù)集介紹
由于雙曲嵌入相關(guān)的文章已經(jīng)有了一系列的代碼。本篇博客主要目的實(shí)現(xiàn)最開(kāi)始的雙曲嵌入論文,將論文中有些直接寫(xiě)出來(lái)的內(nèi)容進(jìn)行了細(xì)節(jié)的推導(dǎo),同時(shí)實(shí)現(xiàn)對(duì)應(yīng)的代碼2021-11-11
在python中實(shí)現(xiàn)發(fā)送短信功能
工作中我們經(jīng)常會(huì)用到發(fā)短信的需求,那么如何在python代碼中實(shí)現(xiàn)發(fā)短息你的需求呢,本文我們就一起深入探討下,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下2024-04-04

