Этот конкретный набор данных асинхронно загружается браузером с другой конечной точки, которая возвращает ответ JSON. Сделать запрос непосредственно к этой конечной точке:
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"])
распечатки:
(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')
Что касается первых набора данных, что вам нужно сделать запрос GET в "поиске" конечную точку:
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'])
Отпечатки:
(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')
Если вы предпочитаете не погружаться в то, как страница загружена и сформирована, вы можете использовать реальный браузер, автоматизированный с помощью selenium
.
Можете ли вы также сообщить мне URL-адрес для доступа к наборам данных идентификатора таблицы: «tblDataset» на той же странице. Благодарю. –
@OmkarReddy уверен, что это немного сложнее, так как он будет искать запрос на http://podaac.jpl.nasa.gov/dmasSolr/solr/dataset/select/ endpoint с несколькими параметрами GET. Позвольте мне посмотреть, могу ли я предоставить вам образец. Кстати, просто любопытно, для чего вы разбираете эти наборы данных? Благодаря! – alecxe
@OmkarReddy хорошо, обновлено рабочим кодом для первого набора данных. – alecxe