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解析xml成对应的html示例分享
Apr 02 Python
Python装饰器入门学习教程(九步学习)
Jan 28 Python
使用python绘制常用的图表
Aug 27 Python
python修改list中所有元素类型的三种方法
Apr 09 Python
python读取txt文件并取其某一列数据的示例
Feb 19 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
Aug 26 Python
python自动化UI工具发送QQ消息的实例
Aug 27 Python
python 解决flask uwsgi 获取不到全局变量的问题
Dec 22 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
python梯度下降算法的实现
Feb 24 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
Python一些基本的图像操作和处理总结
Jun 23 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 class中public,private,protected的区别以及实例分析
2013/06/18 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
Python删除windows垃圾文件的方法
2015/07/14 Python
Python对象转JSON字符串的方法
2016/04/27 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
Java中实现多态的机制
2015/08/09 面试题
怎么处理XML的中文问题
2015/03/26 面试题
法律专业个人实习自我鉴定
2013/09/23 职场文书
法学专业本科生自荐信范文
2013/12/17 职场文书
优秀员工表扬信
2014/01/17 职场文书
社区工作感言
2014/02/21 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
餐饮投资计划书
2014/04/25 职场文书
服务承诺书怎么写
2014/05/24 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
正规借条模板
2015/05/26 职场文书
Python创建SQL数据库流程逐步讲解
2022/09/23 Python