Python定时发送天气预报邮件代码实例
这篇文章主要介绍了Python定时发送天气预报邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
用python爬虫爬到的天气预报,使用smtplib和email模块可以发送到邮箱,使用schedule模块可以定时发送。以下是代码~
#导入模块 importrequests frombs4importBeautifulSoup importsmtplib fromemail.mime.textimportMIMEText fromemail.headerimportHeader importschedule importtime #输入邮箱发件人、收件人以及邮箱的授权码 account=str(input('请输入发件人邮箱地址:')) password=str(input('请输入邮箱授权码:')) receiver=str(input('请输入收件人邮箱地址:')) #建立天气网爬虫,爬取天气信息 defweather_spider(): #模拟浏览器: headers={ 'user-agent':'Mozilla/5.0(Macintosh;IntelMacOSX10_13_6)AppleWebKit/537.36(KHTML,likeGecko)Chrome/71.0.3578.98Safari/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 returntem,weather #发送邮件的代码 defsend_email(tem,weather): globalaccount,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='今日天气预报frompython' message['Subject']=Header(subject,'utf-8') try: qqmail.sendmail(account,receiver,message.as_string()) print('邮件发送成功') except: print('邮件发送失败') qqmail.quit() #建立任务 defjob(): print('开始一次任务') tem,weather=weather_spider() send_email(tem,weather) print('任务完成') #定时发送 schedule.every().day.at("7:00").do(job) whileTrue: schedule.run_pending() time.sleep(1)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。