前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >抓取天气信息并定时推送邮件

抓取天气信息并定时推送邮件

作者头像
用户6021891
发布2020-02-19 14:33:03
1.3K0
发布2020-02-19 14:33:03
举报
文章被收录于专栏:万能的小草万能的小草

最近正在看《Web Scraping with Python 》这本书,所以得动手实践一下,故作此文,通过抓取中国天气网的信息推送邮件信息,希望给忘记带伞的小伙伴们提个醒。。。

前期 准备工作:

1.安装模块: pandas, BeautifulSoup

2. 注册mailgun账号 ,用来推送邮件

(https://www.mailgun.com/email-api)

以下为注册流程,花了不到5分钟搞定!

step1: 点击SIGN UP 注册mailgun账号,记住 不要勾选 Add payment info now

step2: 当注册完成之后,记住勾选下面的Python 栏, 复制下面的code到IDE中去

3. 当上述准备工作完成之后:导入需要用到的模块:

function send_simple_message 功能: 利用mailgun api 推送邮件

4. 利用 BeautifulSoup , Request 库抓取天气信息,我们这里以北京地区的信息为例:

浏览器打开中国天气网(www.weather.com.cn/weather/101010100.shtml),通过单击鼠标右键查看的源代码: 可知<p class="wea">,<p class="tem">,<p class="win"> 分别为 天气, 温度,风级的标签。 上述code主要是分开抓取 这些标签,然后将它们存放为dataframe data里面保存

5. 定时调用上述function并推送邮件到指定邮箱: 这里面是每隔5分钟执行一次上述程序,如果希望每24小时执行一次上述code,请将 300 改为 86400即可。

可以参考如下链接:

https://stackoverflow.com/questions/474528/what-is-the-best-way-to-repeatedly-execute-a-function-every-x-seconds-in-python

最后呈现的效果图如下:

最后,如果大家想看其它地区的天气预报,可以通过修改 get_weather_info 里面的 chaper_url 参数, 也就是下面标粗的部分

(chaper_url='http://www.weather.com.cn/weather/101010100.shtml')

具体的城市代码可以通过查看:

https://max.book118.com/html/2016/0917/54858143.shtm

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小草学Python和SQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档