周朝宪
各地过去n年的空气质量数据的快速爬取------- 以聊城为例
2021-2-18 18:46
阅读:3173

目的:快速收集网站上的各种数据,整理成excel数据,以利分析。

    此处,以爬取聊城过去8年的空气质量(数据密度:每天一组数据)为例,其他地区爬取方法基本一样

语言:Python 


http://www.tianqihoubao.com/aqi/liaocheng-202012.html 此网站上有过去8年间每天的空气质量(数据还在更新中),利用python语言的几行代码快速爬取。检查该网站的源代码,发现此数据为table格式,可以利用pandas模块的的pd.read_html()快速爬取。如果数据格式是list格式,则要用bs4urllib定义函数来爬取。并且该网站很友好,没有反爬虫设置,无需设置UserAgent。有反爬设置,修改UserAgent等糊弄糊弄数据网站就可爬(扒^_^)取

再者,很多爬虫程序段可以搜索网上,拿来主义,加以修改一下,省了很多劲。 

  

代码:

import pandas as pd
dates = pd.date_range(
'20131028', '20210201', freq='MS').strftime('%Y%m')   # 构造出日期序列  便于之后构造url

for i in range(len(dates)):
        df = pd.read_html(
f'http://www.tianqihoubao.com/aqi/liaocheng-{dates[i]}.html', encoding='gbk', header=0)[0]
       
if i == 0:
                df.to_csv(
'历年聊城空气质量数据.csv', mode='a+', index=False,header=1)    # 写入第一个数据表,含有表头
               
i += 1
       
else:
                df.to_csv(
'历年聊城空气质量数据.csv', mode='a+', index=False, header=False#追加写入后续的数据(无表头)到上一步的csv数据表中

 

这样就能迅速得到csv格式的历年来每天的空气质量数据。

可以发现:过去8年间的PM2.5和SO2在逐年下降,除了每年明显的季节变化(和气温大致成反比例)外。

1111.png 


转载本文请联系原作者获取授权,同时请注明本文来自周朝宪科学网博客。

链接地址:https://wap.sciencenet.cn/blog-856115-1272767.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?