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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
Python正则表达式教程之一:基础篇
Mar 02 Python
python中reduce()函数的使用方法示例
Sep 29 Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 Python
python计算两个数的百分比方法
Jun 29 Python
解决Pycharm出现的部分快捷键无效问题
Oct 22 Python
使用Python进行目录的对比方法
Nov 01 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
Python实现数据结构线性链表(单链表)算法示例
May 04 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
Jun 10 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
Python闭包及装饰器运行原理解析
Jun 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维护文件系统
2006/10/09 PHP
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
Prototype使用指南之enumerable.js
2007/01/10 Javascript
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
Python中的高级数据结构详解
2015/03/27 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
基于python3的socket聊天编程
2020/02/17 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
食品行业求职人的自我评价
2014/01/19 职场文书
安全标准化实施方案
2014/02/20 职场文书
大学生英语演讲稿
2014/04/24 职场文书
售房委托书
2014/08/30 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记