Python_自动提醒带伞系统简单模型

该博客介绍了一个使用Python编写的自动提醒带伞系统。系统通过抓取天气网站的数据,分析并提取相关信息,判断当天是否需要带伞。如果判断结果为需要,系统将通过邮件通知预设的用户。
摘要由CSDN通过智能技术生成

代码概述:通过去指定的天气网站抓取本地当天信息,并且提取相关字段从而来判断是否要去带伞,并且发送邮件给指定用户;

import json
from urllib import request
from urllib.request import urlopen
import smtplib
from email.mime.text import MIMEText
from emilconf import *

def readUrl(url):
    # 生成字典, 指定用户代理为火狐浏览器, 而不是python脚本;
    headers = {'User-Agent': 'Firefox/23.0'}
    # 向url地址发起请求, 返回一个Request对象;
    req = request.Request(url, headers=headers)
    # 返回一个urlOpen对象, 该对象中包含访问的所有结果, 比如: 网页内容, 网页的状态码(200, 404)
    urlObj = urlopen(req)
    # 将读取的内容以utf-8编码显示;(中文显示不乱码)
    urlContent = urlObj.read().decode('utf-8')
    return  urlContent


def sendMail():


    def mail():
        msg = MIMEText(content, 'plain', 'utf8')
        msg['From'] = sender
        msg['To'] = receiver
        msg['Subject'] = subject

        return msg

    def sendmail():
        try:
            smt = smtplib.SMTP('smtp.163.com')
            smt.login(sender, passwd)
            msg = mail()
            smt.sendmail(sender, receiver, msg.as_string())
        except smtplib.SMTPException as e:
            print('发送失败:', e)
        else:
            print('发送成功!')

    return sendmail()
#
def main():
    url = "http://www.weather.com.cn/data/cityinfo/101110101.html"
    info = readUrl(url)
    d = json.loads(info)
    weather = d['weatherinfo']['weather']

    if '雨' in weather or '阴' in weather:
        sendMail()

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值