最近正在看《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
领取专属 10元无门槛券
私享最新 技术干货