Python每日获取天气情报并通过邮件通知
Contents
因为没看天气预报,被大雨浇了几次之后,我打算为我这样的懒人写一个小程序。 很简单,算是Python的一个小练习,用Python实现一个邮件提醒每日天气。
这段程序一共分两步 1. 通过网站获取天气信息 2. 将天气信息通过邮件发送到指定信箱
获取天气信息
这里我用了常用的requests和BeautifulSoup4来获取网页并抽取信息。 网站用tenki.jp搜索天气,然后通过id来抽取搜索界面的天气信息框框。 搜索界面如下,可以看到用BS4抽取id为’map_world_point_wrap’的
以下的HTML就好了。
我们准备直接发送HTML代码,这样看起来更好看一些。
代码如下 注:soup.find之后需要将内容转换为string格式,不然python2环境下无法发送邮件
|
|
运行过后如果得到了一堆HTML内容,证明第一步获取天气情报已经完成。
发送邮件设置
接下来我们为上面的代码加入gmail送信功能。 使用MIMEMultipart,MIMEText来设置邮件内容, 使用smtplib来发送邮件。在这里我们用gmail账户来发送邮件。
下面是代码
|
|
执行这个程序,看看你能否收到邮件?
最后就是将这个程序加入crontab定时启动了。 有关crontab -e 的用法我有时间再说,今天太晚了。。。
Author Wenhan Shi
LastMod 2020-03-26 (02c19e3)