From https://github.com/davidcarslaw/openair it looks like there are R packages available. So we can perhaps reverse engineer that R package to find a way in to the data downloads from Python...
!pip3 install --user pyreadr
Requirement already satisfied: pyreadr in /home/oustudent/.local/lib/python3.5/site-packages (0.2.1)
You are using pip version 10.0.1, however version 19.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
import pyreadr
metadata_url='http://uk-air.defra.gov.uk/openair/R_data/AURN_metadata.RData'
fn = metadata_url.split('/')[-1]
!wget $metadata_url
URL transformed to HTTPS due to an HSTS policy --2019-09-09 15:17:42-- https://uk-air.defra.gov.uk/openair/R_data/AURN_metadata.RData Resolving uk-air.defra.gov.uk (uk-air.defra.gov.uk)... 213.251.9.44 Connecting to uk-air.defra.gov.uk (uk-air.defra.gov.uk)|213.251.9.44|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 23386 (23K) [application/octet-stream] Saving to: ‘AURN_metadata.RData’ AURN_metadata.RData 100%[===================>] 22.84K --.-KB/s in 0.001s 2019-09-09 15:17:42 (24.1 MB/s) - ‘AURN_metadata.RData’ saved [23386/23386]
import pandas as pd
pyreadr.read_r(fn)['AURN_metadata'].head()
site_id | site_name | latitude | longitude | altitude | location_type | zone_name | zone_id | la_region | la_region_id | parameter | date_started | date_ended | ratified_to | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | A3 | London A3 Roadside | 51.37348 | -0.291853 | 32 | Urban Traffic | Greater London Urban Area | A01 | Kingston upon Thames London Boro | 160 | CO | 20/03/1997 | 30/09/2007 | 2007-09-30 |
1 | A3 | London A3 Roadside | 51.37348 | -0.291853 | 32 | Urban Traffic | Greater London Urban Area | A01 | Kingston upon Thames London Boro | 160 | PM10 | 20/03/1997 | 30/09/2007 | 2007-09-30 |
2 | A3 | London A3 Roadside | 51.37348 | -0.291853 | 32 | Urban Traffic | Greater London Urban Area | A01 | Kingston upon Thames London Boro | 160 | NO | 20/03/1997 | 30/09/2007 | 2007-09-30 |
3 | A3 | London A3 Roadside | 51.37348 | -0.291853 | 32 | Urban Traffic | Greater London Urban Area | A01 | Kingston upon Thames London Boro | 160 | NO2 | 20/03/1997 | 30/09/2007 | 2007-09-30 |
4 | A3 | London A3 Roadside | 51.37348 | -0.291853 | 32 | Urban Traffic | Greater London Urban Area | A01 | Kingston upon Thames London Boro | 160 | NOXasNO2 | 20/03/1997 | 30/09/2007 | 2007-09-30 |
package_url_base = 'https://uk-air.defra.gov.uk/openair/R_data/{fn}'
site = 'kc1'
year = 2019
fn = '{site}_{year}.RData'.format(site=site.upper(), year=year)
url = package_url_base.format(fn=fn)
!wget $url
--2019-09-09 15:30:03-- https://uk-air.defra.gov.uk/openair/R_data/KC1_2019.RData Resolving uk-air.defra.gov.uk (uk-air.defra.gov.uk)... 213.251.9.44 Connecting to uk-air.defra.gov.uk (uk-air.defra.gov.uk)|213.251.9.44|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 242036 (236K) [application/octet-stream] Saving to: ‘KC1_2019.RData’ KC1_2019.RData 100%[===================>] 236.36K --.-KB/s in 0.09s 2019-09-09 15:30:03 (2.52 MB/s) - ‘KC1_2019.RData’ saved [242036/242036]
pyreadr.read_r(fn)[fn.split('.')[0]].head()
date | O3 | NO2 | CO | SO2 | PM10 | NOXasNO2 | NO | PM2.5 | temp | ws | wd | RAWPM25 | site | code | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2019-01-01 00:00:00 | 49.89250 | 18.87596 | 0.104272 | 1.62547 | 21.275 | 19.60464 | 0.47523 | 15.849 | 5.5 | 2.3 | 259.3 | 16.800 | London N. Kensington | KC1 |
1 | 2019-01-01 01:00:00 | 52.48691 | 19.75871 | 0.084962 | 0.91433 | 12.775 | 20.34165 | 0.38018 | 8.726 | 4.6 | 2.6 | 269.4 | 9.250 | London N. Kensington | KC1 |
2 | 2019-01-01 02:00:00 | 51.38928 | 21.51622 | 0.081101 | 1.06672 | 8.800 | 22.71853 | 0.78413 | 4.859 | 4.4 | 3.0 | 280.5 | 5.150 | London N. Kensington | KC1 |
3 | 2019-01-01 03:00:00 | 50.49121 | 21.12616 | 0.075307 | 1.06672 | 9.525 | 22.05522 | 0.60592 | 5.071 | 4.1 | 2.7 | 287.0 | 5.375 | London N. Kensington | KC1 |
4 | 2019-01-01 04:00:00 | 43.85551 | 25.71346 | 0.083997 | 0.99052 | 9.425 | 26.58787 | 0.57028 | 5.212 | 4.0 | 3.0 | 291.5 | 5.525 | London N. Kensington | KC1 |