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


Posted in Python onSeptember 09, 2019

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

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

Python 相关文章推荐
python 不关闭控制台的实现方法
Oct 23 Python
python3 与python2 异常处理的区别与联系
Jun 19 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
Python中存取文件的4种不同操作
Jul 02 Python
Python实现定时自动关闭的tkinter窗口方法
Feb 16 Python
详解Python的三种可变参数
May 08 Python
python 求10个数的平均数实例
Dec 16 Python
python 多进程队列数据处理详解
Dec 23 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
Python创建临时文件和文件夹
Aug 05 Python
Python使用DFA算法过滤内容敏感词
Apr 22 Python
python英语单词测试小程序代码实例
Sep 09 #Python
Python实现TCP通信的示例代码
Sep 09 #Python
Python3使用PySynth制作音乐的方法
Sep 09 #Python
python智联招聘爬虫并导入到excel代码实例
Sep 09 #Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 #Python
pymysql模块的使用(增删改查)详解
Sep 09 #Python
Django之模板层的实现代码
Sep 09 #Python
You might like
同台服务器使用缓存APC效率高于Memcached的演示代码
2010/02/16 PHP
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
PHP抽象类 介绍
2012/06/13 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
Angular实现响应式表单
2017/08/04 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
在Linux下调试Python代码的各种方法
2015/04/17 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
django 微信网页授权登陆的实现
2019/07/30 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
python 实现两个线程交替执行
2020/05/02 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
Pycharm修改python路径过程图解
2020/05/22 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
css3的过滤效果简单实例
2016/08/03 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
新大陆软件面试题
2016/11/24 面试题
实习自我评价怎么写
2013/12/02 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书