这篇文章主要介绍了Python定时发送天气预报邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
用python爬虫爬到的天气预报,使用smtplib和邮件模块可以发送到邮箱,使用安排模块可以定时发送。以下是代码~
#导入模块 进口的要求 从bs4进口BeautifulSoup 进口smtplib 从email.mime。文本导入MIMEText 从电子邮件。头导入头 进口计划 导入的时间 #输入邮箱发件人,收件人以及邮箱的授权码 账户=str(输入(“请输入发件人邮箱地址:')) 密码=str(输入(“请输入邮箱授权码:")) 接收机=str(输入(“请输入收件人邮箱地址:')) #建立天气网爬虫,爬取天气信息 def weather_spider (): #模拟浏览器: 头={ “用户代理”:“Mozilla/5.0(麦金塔电脑;Intel Mac OS X 10 _13_6) AppleWebKit/537.36 (KHTML,像壁虎)Chrome/71.0.3578.98 Safari/537.36” } url=' http://www.weather.com.cn/weather/101211001.shtml ' #数据获取: res=requests.get (url,头=标题) res.encoding=皍tf - 8” #数据解析: 汤=BeautifulSoup (res.text html.parser) #数据提取: tem1=soup.find (class_=tem) weather1=soup.find (class_=拔颐恰? tem=tem1.text 天气=weather1.text 返回tem、天气 #发送邮件的代码 天气def send_email (tem): 全球账户,密码,接收机 mailhost=' smtp.qq.com ' qqmail=smtplib.SMTP () qqmail.connect (mailhost, 25) qqmail.login(账户,密码) 内容='衢州的天气是:\ n”+ tem +天气 消息=MIMEText(内容、“普通”、“utf - 8”) 主题='今日天气预报从python的 消息(“主题”)=头(主题、“utf - 8”) 试一试: qqmail。sendmail(帐户、接收机message.as_string ()) 打印(“邮件发送成功”) 除了: 打印(“邮件发送失败”) qqmail.quit () #建立任务 def工作(): 打印(“开始一次任务”) tem、天气=weather_spider () send_email (tem、天气) 打印(“任务完成”) #定时发送 schedule.every () .day.at(7点),(工作) 而真正的: schedule.run_pending () time . sleep (1)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。