python--真气网监测站点数据的抓取

笔者从事环保行业,因为最近的项目需要从真气网拿监测站点的数据,所以开发了下面的爬虫抓取数据。

下图每一个红色的框就是每一个站点的AQI值,单机鼠标,显示如图亦庄开发区的AQI值及污染因子6参数、首要污染物、空气等级、站点类型等信息,我们本次只拿AQI值及污染因子6参数。

python--真气网监测站点数据的抓取_第1张图片

打开F12看一下,红色的框Data是一串字母,怀疑是被网站加密了,得找加密的算法了。

python--真气网监测站点数据的抓取_第2张图片

下图就是我在Sources中找到网页动态加载的方法,getParam方法就是生成上面加密的方法,后面就容易找到加密的js文件。加密的Data请求网页返回的数据也是加密的,然后也是用到同一个js文件解密,就可以等到数据了。
python--真气网监测站点数据的抓取_第3张图片

下图就是解析后的数据,一个站点24个小时的数据,拿到原始数据后一看居然没有首要污染物,mmp,只有自己算每一个污染因子的IAQI(空气质量分指数),6个因子算完以后,最大值就是这个站点本小时的AQI值。
python--真气网监测站点数据的抓取_第4张图片

下面两张图就是需要的数据和公式,不算难。辛亏python的计算库很多,笔者用pandas就解决了。

python--真气网监测站点数据的抓取_第5张图片
python--真气网监测站点数据的抓取_第6张图片

下图就是公式的算法。
python--真气网监测站点数据的抓取_第7张图片

至此,这个爬虫也就完成了,Mongodb查一下数据,没问题。如有错误,欢迎指正,谢谢!

你可能感兴趣的:(python--真气网监测站点数据的抓取)