基于Python爬虫采集天气网实时信息


Posted in Python onJune 05, 2020

基于Python爬虫采集天气网实时信息

相信小伙伴们都知道今冬以来范围最广、持续时间最长、影响最重的一场低温雨雪冰冻天气过程正在进行中。预计,今天安徽、江苏、浙江、湖北、湖南等地有暴雪,局地大暴雪,新增积雪深度4~8厘米,局地可达10~20厘米。此外,贵州中东部、湖南中北部、湖北东南部、江西西北部有冻雨。言归正传,天气无时无刻都在陪伴着我们,今天小编带大家利用Python网络爬虫来实现天气情况的实时采集。

基于Python爬虫采集天气网实时信息

此次的目标网站是绿色呼吸网。绿色呼吸网站免费提供中国环境监测总站发布的PM2.5实时数据查询,更收集分析关于PM2.5有关的一切报告和科研结论,力求以绵薄之力寻同呼吸共命运的你关注PM2.5,关注大气健康!

程序实现很简单,本次选择BeautifulSoup选择器用于匹配目标信息,如:地区、时间、AQI指数、首要污染物、PM2.5浓度、温馨提示等。需要采集的页面内容如下图所示:
基于Python爬虫采集天气网实时信息

绿色呼吸网天气信息

在网页源码中,目标信息存在的位置如下图所示:

基于Python爬虫采集天气网实时信息

部分网页源码

在开发工具pycharm中进行代码实现,难点在于BS4选择器的语法。有个细节需要注意,部分城市在当天是没有污染物的,因此在网页中wuranwu这个属性没有任何显示,此时应该介入if判断语句,避免获取的数据为空导致程序报错,也可以做异常处理来解决这个问题。其中部分关键代码如下图所示:

基于Python爬虫采集天气网实时信息

在开发工具pycharm中进行代码实现

只要我们右键点击运行,在控制台中输入我们所关注城市的汉语拼音,便可以在pycharm的控制台中可以看到该地区的实时天气信息,而且还有温馨提示,是不是很方便呢?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
重命名批处理python脚本
Apr 05 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
Python基于动态规划算法计算单词距离
Jul 25 Python
Python3使用requests发闪存的方法
May 11 Python
Python中最大递归深度值的探讨
Mar 05 Python
ipython和python区别详解
Jun 26 Python
jupyter notebook 重装教程
Apr 16 Python
Python如何安装第三方模块
May 28 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
python 录制系统声音的示例
Dec 21 Python
Python爬虫基础初探selenium
May 31 Python
python+opencv实现视频抽帧示例代码
Jun 11 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 #Python
Python调用.net动态库实现过程解析
Jun 05 #Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 #Python
Python Dict找出value大于某值或key大于某值的所有项方式
Jun 05 #Python
python3检查字典传入函数键是否齐全的实例
Jun 05 #Python
Python使用20行代码实现微信聊天机器人
Jun 05 #Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 #Python
You might like
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
微信小程序开发打开另一个小程序的实现方法
2020/05/17 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
使用python实现个性化词云的方法
2017/06/16 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
Python range与enumerate函数区别解析
2020/02/28 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
python opencv肤色检测的实现示例
2020/12/21 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
苹果Mac升级:MacSales.com
2017/11/20 全球购物
暑假实习求职信范文
2013/09/22 职场文书
高中毕业自我鉴定范文
2013/10/02 职场文书
领导班子整改措施
2014/10/24 职场文书
2014司机年终工作总结
2014/12/05 职场文书
考研经验交流会策划书
2015/11/02 职场文书
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby