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中__init__和__new__的区别详解
Jul 09 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
Jun 07 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
python构建深度神经网络(续)
Mar 10 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
pytorch 数据集图片显示方法
Jul 26 Python
Python绘图实现显示中文
Dec 04 Python
tensorflow 变长序列存储实例
Jan 20 Python
tensorflow使用range_input_producer多线程读取数据实例
Jan 20 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 Python
Python模拟登录和登录跳转的参考示例
Oct 30 Python
利用Python第三方库实现预测NBA比赛结果
Jun 21 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
10条PHP编程习惯助你找工作
2008/09/29 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
js查找节点的方法小结
2015/01/13 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
2017/08/31 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
vue的for循环使用方法
2019/02/12 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
师范生自我鉴定范文
2013/10/05 职场文书
美术教师自我鉴定
2014/02/12 职场文书
药品促销活动方案
2014/02/14 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
护理学专业求职信
2014/06/29 职场文书
学习三严三实心得体会
2014/10/13 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
教师节感谢信
2015/01/22 职场文书
摩登时代观后感
2015/06/03 职场文书
2015年圣诞节寄语
2015/08/17 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle