您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python定時發送天氣預報郵件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
用python爬蟲爬到的天氣預報,使用smtplib和email模塊可以發送到郵箱,使用schedule模塊可以定時發送。以下是代碼~
#導入模塊 import requests from bs4 import BeautifulSoup import smtplib from email.mime.text import MIMEText from email.header import Header import schedule import time #輸入郵箱發件人、收件人以及郵箱的授權碼 account = str(input('請輸入發件人郵箱地址:')) password = str(input('請輸入郵箱授權碼:')) receiver = str(input('請輸入收件人郵箱地址:')) #建立天氣網爬蟲,爬取天氣信息 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' #數據獲取: res=requests.get(url,headers=headers) res.encoding='utf-8' #數據解析: soup=BeautifulSoup(res.text,'html.parser') #數據提取: tem1= soup.find(class_='tem') weather1= soup.find(class_='wea') tem=tem1.text weather=weather1.text return tem,weather #發送郵件的代碼 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 = '今日天氣預報from python' message['Subject'] = Header(subject, 'utf-8') try: qqmail.sendmail(account, receiver, message.as_string()) print ('郵件發送成功') except: print ('郵件發送失敗') qqmail.quit() #建立任務 def job(): print('開始一次任務') tem,weather = weather_spider() send_email(tem,weather) print('任務完成') #定時發送 schedule.every().day.at("7:00").do(job) while True: schedule.run_pending() time.sleep(1)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。