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通过get,post方式发送http请求和接收http响应的方法
May 26 Python
Python 数据处理库 pandas 入门教程基本操作
Apr 19 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
Feb 12 Python
Python判断对象是否相等及eq函数的讲解
Feb 25 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
Python3操作Excel文件(读写)的简单实例
Sep 02 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
Django操作session 的方法
Mar 09 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
基于Python实现2种反转链表方法代码实例
Jul 06 Python
python下载的库包存放路径
Jul 27 Python
python中sys模块的介绍与实例
Apr 17 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实现递归复制整个文件夹的类实例
2015/08/03 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
FireFox中textNode分片的问题
2007/04/10 Javascript
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
Python selenium 三种等待方式解读
2016/09/15 Python
python3操作mysql数据库的方法
2017/06/23 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
增大python字体的方法步骤
2020/07/05 Python
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
企业活动策划方案
2014/06/02 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
百年孤独读书笔记
2015/06/29 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python