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开发windows GUI程序入门实例
Oct 23 Python
浅谈python对象数据的读写权限
Sep 12 Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 Python
python高级特性和高阶函数及使用详解
Oct 17 Python
在Python中实现shuffle给列表洗牌
Nov 08 Python
Python实现寻找回文数字过程解析
Jun 09 Python
Python常用数字处理基本操作汇总
Sep 10 Python
Python 找出英文单词列表(list)中最长单词链
Dec 14 Python
用python获取txt文件中关键字的数量
Dec 24 Python
python中的被动信息搜集
Apr 29 Python
Python使用Kubernetes API访问集群
May 30 Python
Python matplotlib多个子图绘制整合
Apr 13 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
PHP 文件系统详解
2012/09/13 PHP
php实现Session存储到Redis
2015/11/11 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
优化javascript的执行速度
2010/01/23 Javascript
预加载css或javascript的js代码
2010/04/23 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
前端路由&webpack基础配置详解
2019/06/10 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
Python 元类实例解析
2018/04/04 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
pyqt5中动画的使用详解
2020/04/01 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
节水标语大全
2014/06/11 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python
Golang表示枚举类型的详细讲解
2021/09/04 Golang