获取中国环境检测总站的空气质量数据
在参与的一项科研项目中,需要获取中国空气监测站的数据,然而网上公开下载的数据很少,大多数还要收费。某平台的报价高达上万元(年/市),所以摸索一下怎么自己获取数据。并且将本项目部署在云平台Serverless,实现24小时不间断获取数据。
请勿无限制运行,以免对源站点造成破坏,方法仅供研究
以阿里云函数计算FC为例
阿里云新人特惠 下面有便宜的云数据库,后面用到。函数计算有免费额度。
MySQL 可以使用阿里云的MySQL,新人首年巨便宜,或者自建MySQL需要24小时在线。
创建两张表
air_quality
空气质量
id | station_code | aqi | co | no2 | o3 | pm10 | pm2_5 | so2 | time_point | co_24h | no2_24h | o3_24h | o3_8h | o3_8h_24h | pm10_24h | pm2_5_24h | so2_24h |
---|
station
站点信息
station_code | position_name | area | latitude | longitude |
---|
在函数计算FC创建一个新的函数
-
函数名称:xxx
-
服务名称:xxx
-
请求处理程序类型:处理事件请求
-
运行环境:Python 3.9
-
代码上传方式:先选Hello,world!示例
-
规格方案:最低 0.05C 128M
-
超时时间:86400
-
请求处理程序(函数入口):crawler.air_crawler
HOST
(必须)
数据库HOST,IP或者URL
PORT
(必须)
数据库端口
USER
(必须)
数据库用户名
PASSWORD
(必须)
数据库密码
DATABASE
(必须)
数据库名
定时触发器-自定义
表示每个小时的45分触发一次
0 45 * * * *
创建
创建层
兼容运行时:Python 3.9
上传本项目的python
文件夹,注意python
这个文件夹名不能变
创建
回前面创建好的函数中,函数配置,添加刚创建的层
最后删除原有的代码,将air_class.py
和crawler.py
添加进函数代码
部署就可以了
本项目仅供学习和研究使用,不得用于任何商业用途。使用本项目所获取的数据,应仅用于个人学习和研究之用,不得用于违法或侵犯他人权益的行为。使用者应自行承担使用本项目所获取数据的风险和责任,作者不承担任何法律责任。
使用本项目所获取的数据,应遵守相关法律法规和网站的使用协议。使用者应自行承担因违反相关法律法规和网站使用协议而产生的一切法律后果和责任。
作者不保证本项目所获取的数据的准确性、完整性和及时性,并且不承担任何因使用本项目所获取数据而导致的任何直接或间接的损失或损害。
使用本项目即表示您已经阅读、理解并同意本免责声明的所有内容。如果您不同意本声明中的任何内容,请立即停止使用本项目。
引用**air-in-china**作者
由于国情,我国在数据公开方面的工作的确乏善可陈。
但是,每个国民都应有获知数据的权利,所以我将此项目开源,提供一个从官方渠道获取空气质量数据的途径。
现在很多同学的研究成果都是基于外国公开的数据,为什么我们的数据不能公开让大家研究呢?(仅吐槽,没有说所有数据都不公开,国外一些也没公开,公开的有些也有下载门槛)