Dieses bestimmte Dataset wird vom Browser asynchron von einem anderen Endpunkt geladen, der eine JSON-Antwort zurückgibt. Machen Sie die Anfrage direkt an diesen Endpunkt:
import requests
URL = 'http://podaac.jpl.nasa.gov/l2ssIngest/datasets'
response = requests.get(URL)
data = response.json()
for item in data["datasets"]:
print(item["persistentId"], item["shortName"])
Drucke:
(u'PODAAC-AQR40-2SOCS', u'AQUARIUS_L2_SSS_V4')
(u'PODAAC-QSX12-L2B01', u'QSCAT_LEVEL_2B_OWV_COMP_12')
(u'PODAAC-ASOP2-12C01', u'ASCATA-L2-Coastal')
(u'PODAAC-ASOP2-25X01', u'ASCATA-L2-25km')
(u'PODAAC-ASOP2-25B01', u'ASCATB-L2-25km')
(u'PODAAC-ASOP2-COB01', u'ASCATB-L2-Coastal')
(u'PODAAC-J2ODR-GPS00', u'OSTM_L2_OST_OGDR_GPS')
(u'PODAAC-OSCT2-L2BV2', u'OS2_OSCAT_LEVEL_2B_OWV_COMP_12_V2')
(u'PODAAC-RSX12-L2B11', u'RSCAT_LEVEL_2B_OWV_COMP_12_V1.1')
(u'PODAAC-AKASA-XOGD1', u'ALTIKA_SARAL_L2_OST_XOGDR')
(u'PODAAC-GHAM2-2PR72', u'AMSR2-REMSS-L2P-v7.2')
(u'PODAAC-GHVRS-2PN01', u'VIIRS_NPP-NAVO-L2P-v2.0')
(u'PODAAC-RSX12-L2B12', u'RSCAT_LEVEL_2B_OWV_COMP_12_V1.2')
Was den ersten Datensatz, benötigen Sie eine GET-Anfrage an den "Suche" Endpunkt zu machen:
from operator import itemgetter
import requests
URL = 'http://podaac.jpl.nasa.gov/dmasSolr/solr/dataset/select/'
response = requests.get(URL, params={
'q': '*:*',
'fl': 'Dataset-PersistentId,Dataset-ShortName-Full',
'rows': '2147483647',
'fq': 'DatasetPolicy-AccessType-Full:(OPEN OR PREVIEW OR SIMULATED OR REMOTE) AND DatasetPolicy-ViewOnline:Y',
'wt': 'json'
})
data = response.json()
for doc in sorted(data['response']['docs'], key=itemgetter('Dataset-ShortName-Full')):
print(doc['Dataset-PersistentId'], doc['Dataset-ShortName-Full'])
Drucke:
(u'PODAAC-GHRAM-4FA01', u'ABOM-L4HRfnd-AUS-RAMSSA_09km')
(u'PODAAC-GHGAM-4FA01', u'ABOM-L4LRfnd-GLOB-GAMSSA_28km')
(u'PODAAC-AKASA-XOGD1', u'ALTIKA_SARAL_L2_OST_XOGDR')
(u'PODAAC-USWCO-ALT01', u'ALT_TIDE_GAUGE_L4_OST_SLA_US_WEST_COAST')
...
(u'PODAAC-SASSX-L2WAF', u'WAF_DEALIASED_SASS_L2')
(u'PODAAC-SMMRN-2WAF0', u'WENTZ_NIMBUS-7_SMMR_L2')
(u'PODAAC-SASSX-L2SN0', u'WENTZ_SASS_SIGMA0_L2')
Wenn Sie nicht vorgehen möchten, wie die Seite geladen und geformt wird, können Sie einen echten Browser verwenden, der von selenium
automatisiert wird.
Können Sie mir auch die URL mitteilen, um auf die Datasets der Tabellen-ID zuzugreifen: "tblDataset" der gleichen Seite. Vielen Dank. –
@OmkarReddy sicher, diese ist ein wenig komplizierter als es eine Suchanfrage an http://podaac.jpl.nasa.gov/dmasSolr/solr/dataset/select/ Endpunkt mit mehreren GET-Parameter wäre. Lassen Sie mich sehen, ob ich Ihnen ein Muster zur Verfügung stellen kann. Übrigens, nur neugierig, wofür analysieren Sie diese Datensätze? Vielen Dank! – alecxe
@OmkarReddy okay, aktualisiert mit einem Arbeitscode für den ersten Datensatz. – alecxe