Skip to content

KBNLresearch/KB-python-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Koninklijke Bibliotheek Logo

KB python API: Access to National Library of the Netherlands datasets

Downloads

Pypi version

Pypi version

build status

Travis build status

KB-Python-API is a simple API for Python, the API provides easy access to free and CC-BY-NC-ND datasets provided by the National Library of the Netherlands (KB).

It relies on the back-end infrastructure of the KB which consists of an SRU and OAI-MPH service. The KB Python API makes it easy to interact with historical data, for more information on the provided datasets and data-rights take a look at the DataServices page of the KB.

For example usage have a look at the provided example.py file, or consult the /test directory.

This package is also available from the pypi website. To do a quick install:

pip install kb

OAI example

>>> from kb.nl.api import oai
>>> from kb.nl.helpers import alto_to_text
>>> oai.list_sets()
['ANP', 'BYVANCK', 'DPO', 'SGD']
>>> records = oai.list_records("ANP")
>>> records.identifiers[:3]
['anp:1937:10:01:1', 'anp:1937:10:01:2', 'anp:1937:10:01:3']
>>> len(oai.resumptiontoken)
42
>>> record = oai.get(records.identifiers[0])
>>> alto_record = record.alto
>>> alto_to_text(alto_record[0]).split("\\n")[1][:27]
u' RADIO 1 van 1 Ootober 1937'
>> image_record = record.image
>>> len(image_record)
721035

SRU example

>>> from kb.nl.api import sru
>>> from kb.nl.helpers import alto_to_text
>>> response = sru.search("Beatrix AND Juliana AND Bernhard AND telegram", "ANP")
>>> for record in response.records:
...     print("Date: %s" % record.date)
...     print("Abstract: %s" % record.abstract)
...     print("Title: %s" % record.title)