Skip to content

KBNLresearch/KB-python-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Willem Jan Faber
Jan 30, 2020
bd61348 · Jan 30, 2020

History

54 Commits
Jan 13, 2020
Jan 13, 2020
Jan 13, 2020
Jan 13, 2020
Jan 21, 2015
Jan 13, 2020
Jan 30, 2020
Jan 13, 2020
Jan 13, 2020

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)