pypptee获取城市监测站点历史空气质量数据
python获取城市监测站点历史空气质量数据
引言
帮朋友写的程序,数据来自真气网,,我获得的是成都的空气质量数据,结果如下。
每一张图内容如下:其中0代表没有数据
1. 使用
1.1 request
主要依赖panda
和pyppeteer
使用压缩包内的文档一键安装
pip install -r requirements.txt
1.2 参数设置
这里设置的为data
子目录,开始时间为2017-10月到结束时间2021-12月,城市网址city_url
是成都
path='\data' #保存文件的相对路径
if __name__ == "__main__":start='2017-10' #开始时间end='2021-12' #结束时间city_url = 'https://www.zq12369.com/environment.php?city=%E6%88%90%E9%83%BD&tab=city' #需要的城市网址loop = asyncio.get_event_loop()loop.run_until_complete(crawl(month_list=GetMonths(start,end),url=city_url))
1.3 运行
第一次运行的时候pyppteer
会自动安装Chromeium
(谷歌测试浏览器),安装的默认位置如下:
C:\Users\你的用户名\AppData\Local\pyppeteer\pyppeteer\local-chromium
正常情况运行后会自动打开谷歌浏览器进行操作,结束程序后会自动关闭
1.4 目前的缺陷
这个网站虽然说有监测点的历史数据,但是成都的历史数据只有2017-10月后才有,没有数据的时候它那个图不会变化,所以没有数据的时候获得的数据全是一样的。如下:
还有一个小问题是如果某些站点出现废弃,比如以前有这个站点,但是一段时间后没有了,这个时候程序可能会报错,目前未修复。
2. 改写程序
主要是简单说一下程序的逻辑,推荐是直接使用。自己写会快很多,可以参考一下逻辑。
由于网页是动态网页,也就是js
之类的写的,因此使用request库就不能得到数据。但是pyppteer
就可以得到执行js
程序后的网页
获取时间片->填入时间到框中->选择空气质量指数的种类->获取网页->正则表达式分析网页提取数据->输出到excel
这个程序稍微具有参考价值的一点就是可以获取时间切片,不用自己考虑大小月以及闰年之类的,当然基本上还是使用库
import datetime
import time
import calendardef GetMonthEnd(date):day=calendar.monthrange(date.year,date.month)[1]endmonth=datetime.datetime(date.year,date.month,day)return endmonth.strftime("%Y-%m-%d")#获取从开始时间到结束时间的每个月的时间片
# example: GetMonths('2015-01','2015-02')
# return : ['2015-01-01 - 2015-01-31', '2015-02-01 - 2015-02-28']
#
def GetMonths(Begin_date,End_date):month_list=[]Begin_date=datetime.datetime.strptime(Begin_date,"%Y-%m")End_date =datetime.datetime.strptime(End_date,"%Y-%m")while Begin_date<=End_date:monthBegin=Begin_date.strftime("%Y-%m-%d")monthEnd=GetMonthEnd(Begin_date)month_list.append(monthBegin+' - '+monthEnd)Begin_date=datetime.datetime(year=Begin_date.year+int(Begin_date.month / 12), month=(Begin_date.month % 12 + 1), day=Begin_date.day)return month_list
程序获取
上传到CSDN,设置免积分获取
如有问题,可在评论区指教
pypptee获取城市监测站点历史空气质量数据相关推荐
- python爬取某城市各监测站点历史空气质量数据
python爬取某城市各监测站点历史空气质量数据 引言 正文 一.安装Web driver 二.安装selenium 三.数据爬取 引言 由于要使用某地各监测站点的空气质量数据做数据预测,因此需要去网 ...
- python123空气质量提醒_Python制作提取指定站点的空气质量数据监控脚本
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于Python干货铺子 ,作者INUYASHA123 前言 对于我们下载的多数数据集, ...
- 【数据分享】2014-2023年全国监测站点的逐日空气质量数据(15个指标\无需转发)
空气质量的好坏反映了空气的污染程度,在各项涉及城市环境的研究中,空气质量都是一个十分重要的指标.空气质量是依据空气中污染物浓度的高低来判断的. 我们发现学者王晓磊在自己的主页里面分享了2014年5月以 ...
- python 爬取城市空气质量数据
[python]爬虫爬取中国城市的空气质量数据 使用工具:pycharm/python3.7,Chrome driver 使用库:selenium,time 一.下载Chrome driver(必读) ...
- 利用pyecharts库对京津冀上广深空气质量数据进行可视化
本文以当前热门编程语言Python作为开发工具,利用Python的BeautifulSoup库进行网页爬虫以获取空气质量数据(AQI.PM2.5),然后综合运用第三方库Pandas进行数据处理,最后利 ...
- 爬空气质量MySQL_爬虫:利用selenium采集某某环境网站的空气质量数据
前言:在上一篇文章中,我们介绍了在http://PM2.5.in这个网站采集空气质量的数据,本篇文章是对其产生的一些问题的另一种解决方案,提供更加权威的数据采集. 技术框架:selenium.json ...
- 实战1 - 空气质量数据的校准
1 题目简介 题目来源于2019 高教社杯全国大学生数学建模竞赛D题--空气质量数据的校准. 空气污染对生态环境和人类健康危害巨大,通过对"两尘四气"(PM2.5.PM10.CO. ...
- 2019高教社杯全国大学生数学建模竞赛题目 D题 空气质量数据的校准
D题 空气质量数据的校准 空气污染对生态环境和人类健康危害巨大,通过对"两尘四气"(PM2.5.PM10.CO.NO2.SO2.O3)浓度的实时监测可以及时掌握空气质量,对污染源 ...
- Python爬虫——天气信息空气质量数据
import requests from bs4 import BeautifulSoup from pandas import read_csv from IPython.display impor ...
最新文章
- “中序表达式”转“后续表达式”
- 2022年全球及中国豪华商业墙纸行业运营规模状况与投资产值预测报告
- 在python中,用正则表达式提取多层括号中最外层括号包含的内容
- DedeCMS生成首页html静态文件的教程
- Inside C++ object Model--对象模型概述
- python资料-整理了一周的Python资料,包含各阶段所需网站、项目,收藏了慢慢来...
- 关于delphi中多线程采用定时器的做法
- QGroundControl实现多机控制
- xshell7 突出显示集样例_Xmanager7/Xshell7/Xftp7
- 在腾讯云开通短信验证服务并完成群发消息测试
- uni-app使用i18n实现国际化/多语言配置
- CSL:圆形平滑标签的任意方向目标检测
- meterpreter_paranoid_mode.sh允许用户安全上演/无级连接Meterpreter经检查合格证书的处理程序正在连接到...
- 能力素质有所欠缺_除了岗位培训,能力的培训也十分关键
- roblox虚拟世界怎么做服务器,虚拟世界roblox国际服
- android爱汽车破解密码,汽车报价大全app sign解密过程
- 2020 年互联网大厂薪资出炉!老夫酸了.......
- uni-app 页面生命周期
- 分布式秒杀 - 实战
- tomcat定时自动重启设置方法