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常用小技巧总结
Jun 01 Python
星球大战与Python之间的那些事
Jan 07 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 Python
浅谈Python中的可变对象和不可变对象
Jul 07 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
Jun 26 Python
python 控制Asterisk AMI接口外呼电话的例子
Aug 08 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 Python
Python学习之迭代器详解
Apr 01 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
mysql 字段类型说明
2007/04/27 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
手把手教你把nodejs部署到linux上跑出hello world
2017/06/19 NodeJs
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
Python遍历目录中的所有文件的方法
2016/07/08 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
PHP如何自定义函数
2016/09/16 面试题
优秀大学生求职自荐信范文
2014/04/19 职场文书
教师考察材料范文
2014/06/03 职场文书
责任书格式范文
2014/07/28 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
租车协议书
2015/01/27 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
投资入股协议书
2016/03/22 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书