自动获取天气预报并且发送邮件

哈哈哈,没有搬别人的代码,自己写的真是让人成就感满满

#!/usr/bin/env python3.6
# -*- coding:utf-8 -*- 

from bs4 import BeautifulSoup
from urllib.request import urlopen

from email.mime.text import MIMEText
from email.header import Header
import smtplib
import getpass   

def get_weather():
    weather = []
    html = urlopen('http://tianqi.2345.com/today-57036.htm')
    bsObj = BeautifulSoup(html.read(), 'html.parser')
    link1 = bsObj.find("div", {"class":"emoticon", "id":"emoticonId"})
    weather.append(link1.span.get_text())
    link2 = bsObj.find("ul", {"class":"parameter"})
    wthers = link2.findAll("li")
    for wther in wthers:
    weather.append(wther.b.get_text()+ wther.i.get_text())
    return weather

def send_mail(msg):
    sender = input('From: ')
    password = getpass.getpass('Password: ')
    smtp_server = input('smtp server: ')
    receivers = '[email protected]'
    message = MIMEText(msg, 'plain', 'utf-8')
    message['From']= Header(sender)
    message['To']= Header(receivers)
    message['Subject']= Header('今天的天气预报', 'utf-8')
    server = smtplib.SMTP()
    server.connect(smtp_server, 25)
    server.login(sender, password)
    server.sendmail(sender, receivers, message.as_string())
    print('邮件发送成功')
    server.quit()

weatherlist = get_weather()
msg = 'n'.join(weatherlist)
send_mail(msg)