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中metaclass元类的创建与使用
Jun 30 Python
Python中装饰器高级用法详解
Dec 25 Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 Python
Python二叉树定义与遍历方法实例分析
May 25 Python
python redis 删除key脚本的实例
Feb 19 Python
python自动发邮件总结及实例说明【推荐】
May 31 Python
一篇文章搞定Python操作文件与目录
Aug 13 Python
python实现输出一个序列的所有子序列示例
Nov 18 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
基于Python中random.sample()的替代方案
May 23 Python
Python控制鼠标键盘代码实例
Dec 08 Python
Python爬虫之Selenium库的使用方法
Jan 03 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
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
php日期操作技巧小结
2016/06/25 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
python调用cmd命令行制作刷博器
2014/01/13 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
python实现员工管理系统
2018/01/11 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
Python关于反射的实例代码分享
2020/02/20 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
python re的findall和finditer的区别详解
2020/11/15 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
建筑安全员岗位职责
2014/03/13 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
环保专项行动方案
2014/05/12 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
班主任2015新年寄语
2014/12/08 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
员工升职自荐信
2015/03/27 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
休假证明书
2015/06/24 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python