In [1]:
from owslib.csw import CatalogueServiceWeb
from owslib import fes
import numpy as np
In [2]:
endpoint = 'http://catalog.data.gov/csw-all' #granule level catalog
endpoint = 'https://www.sciencebase.gov/catalog/item/54dd2326e4b08de9379b2fb1/csw'
csw = CatalogueServiceWeb(endpoint,timeout=60)
print csw.version
In [3]:
csw.get_operation_by_name('GetRecords').constraints
Out[3]:
In [4]:
val = 'prism'
filter1 = fes.PropertyIsLike(propertyname='AnyText',literal=('*%s*' % val),
escapeChar='\\',wildCard='*',singleChar='?')
filter_list = [ filter1 ]
In [5]:
csw.getrecords2(constraints=filter_list,maxrecords=100,esn='full')
print len(csw.records.keys())
for rec in list(csw.records.keys()):
print csw.records[rec].title
In [8]:
choice = np.random.choice(list(csw.records.keys()))
print(csw.records[choice].title)
csw.records[choice].references
Out[8]:
In [6]: