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

最近正在看《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. 当上述准备工作完成之后:导入需要用到的模块:

functionsend_simple_message 功能: 利用mailgun api 推送邮件

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

浏览器打开中国天气网(www.weather.com.cn/weather/101010100.shtml),通过单击鼠标右键查看的源代码: 可知

,

,

分别为 天气, 温度,风级的标签。 上述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

欢迎大家关注知乎专栏:小草学python

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180610G0BHK900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券