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

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

这篇文章主要介绍了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)

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

相关文章

  • 关于Pycharm配置翻译插件Translation报错更新TTK失败不能使用的问题

    关于Pycharm配置翻译插件Translation报错更新TTK失败不能使用的问题

    这篇文章主要介绍了关于Pycharm配置翻译插件Translation报错更新TTK失败不能使用的问题,本文通过图文并茂的形式给大家分享解决方案,需要的朋友可以参考下
    2022-04-04
  • python tkinter实现彩球碰撞屏保

    python tkinter实现彩球碰撞屏保

    这篇文章主要为大家详细介绍了python tkinter实现彩球碰撞屏保,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 详解python flask是如何预防CSRF攻击

    详解python flask是如何预防CSRF攻击

    CSRF(Cross-site request forgery)攻击是一种常见的网络安全漏洞,它可以通过欺骗用户执行恶意请求来攻击 Web 应用程序,本篇文章将介绍python flask是如何预防CSRF攻击,需要的朋友可以参考下
    2024-04-04
  • Python深度学习pytorch神经网络块的网络之VGG

    Python深度学习pytorch神经网络块的网络之VGG

    虽然AlexNet证明深层神经网络卓有成效,但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。下面,我们将介绍一些常用于设计深层神经网络的启发式概念
    2021-10-10
  • 基于python详解PyScript到底是什么

    基于python详解PyScript到底是什么

    这篇文章主要介绍了基于python详解PyScript到底是什么?文章围绕主题展开详细的内容介绍,具有一定的参考价值需要的朋友可以参考一下下面文章内容
    2022-06-06
  • Python中创建数值列表的4种方法总结

    Python中创建数值列表的4种方法总结

    在Python中列表(List)是一种有序、可变的数据类型,被广泛用于存储和处理多个元素,这篇文章主要给大家介绍了关于Python中创建数值列表的4种方法,需要的朋友可以参考下
    2024-05-05
  • Python实现移动指定图片到指定目录

    Python实现移动指定图片到指定目录

    这篇文章主要为大家详细介绍了如何使用Python的os和shutil库实现自动化查找和移动图片功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2025-02-02
  • 把项目从Python2.x移植到Python3.x的经验总结

    把项目从Python2.x移植到Python3.x的经验总结

    这篇文章主要介绍了把项目从Python2.x移植到Python3.x的经验总结,包括作者所使用的Jinja2框架中一些需要注意的地方,需要的朋友可以参考下
    2015-04-04
  • Python seaborn数据可视化绘图(直方图,密度图,散点图)

    Python seaborn数据可视化绘图(直方图,密度图,散点图)

    这篇文章主要介绍了Python seaborn数据可视化绘图(直方图,密度图,散点图),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • python如何在文件中部插入信息

    python如何在文件中部插入信息

    这篇文章主要介绍了python如何在文件中部插入信息问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论