首页 > 编程 > Python > 正文

Python定时发送天气预报邮件代码实例

2019-11-25 11:45:06
字体:
来源:转载
供稿:网友

这篇文章主要介绍了Python定时发送天气预报邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

用python爬虫爬到的天气预报,使用smtplib和email模块可以发送到邮箱,使用schedule模块可以定时发送。以下是代码~

#导入模块import requestsfrom bs4 import BeautifulSoupimport smtplibfrom email.mime.text import MIMETextfrom email.header import Headerimport scheduleimport 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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表