高质量代码-下载空气质量数据

网站http://beijingair.sinaapp.com提供了全国空气质量的数据接口。

其中数据下载地址如下:

比如我们想要下载某天的全国367个城市数据,我们可以封装成一个函数,日期作为参数。

代码语言:python
代码运行次数:0
复制
Cloud Studio 代码运行
# coding:utf-8
import os
import requests
import datetime
import time
downloadCityUrl='http://beijingair.sinaapp.com/data/china/cities/%s/csv'
saveCityDir=os.path.join(os.path.curdir,'NationAirData/City_2018')
def downloadCity(date):
    url=downloadCityUrl%date.strftime('%Y%m%d')
    print url
    res=requests.get(url)
    if(res.status_code!=200):
        return
    f=open(os.path.join(saveCityDir,date.strftime('china_cities_%Y%m%d.csv')),'wb')
    f.write(res.content)
    f.close()

因为今天只有昨天的数据,假如我们需要每天下载昨天的数据,我们可以在Linux中配一个cron任务。或者写一个定时器。

代码语言:python
代码运行次数:0
复制
Cloud Studio 代码运行
if __name__=='__main__':
    while(True):
    yesterday=datetime.datetime.now()-datetime.timedelta(1)
    if not os.path.exists(os.path.join(saveCityDir,yesterday.strftime('china_cities_%Y%m%d.csv'))):
        downloadCity(yesterday)
    time.sleep(24*1800)