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模拟登录百度贴吧(百度贴吧登录)实例
Dec 18 Python
Python中实现三目运算的方法
Jun 21 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
python如何在终端里面显示一张图片
Aug 17 Python
Python使用sorted排序的方法小结
Jul 28 Python
flask框架中勾子函数的使用详解
Aug 01 Python
Python sorted函数详解(高级篇)
Sep 18 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
Python列表的切片实例讲解
Aug 20 Python
opencv+python实现均值滤波
Feb 19 Python
keras CNN卷积核可视化,热度图教程
Jun 22 Python
python matlab库简单用法讲解
Dec 31 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
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
php截取字符串并保留完整xml标签的函数代码
2013/02/06 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
微信支付开发告警通知实例
2016/07/12 PHP
php事件驱动化设计详解
2016/11/10 PHP
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
cookie的secure属性详解
2015/04/08 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
Python获取当前时间的方法
2014/01/14 Python
Python随机生成数模块random使用实例
2015/04/13 Python
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
Python的缺点和劣势分析
2019/11/19 Python
Python函数参数分类原理详解
2020/05/28 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
为什么使用接口?
2014/08/13 面试题
医生实习工作总结的自我评价
2013/09/27 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
参观邀请函范文
2015/02/02 职场文书
国家助学金受助感言
2015/08/01 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
python开发实时可视化仪表盘的示例
2021/05/07 Python