BAdW

PublikationenPublications im Netzonline

Der Zugriff mit Programmen

Um mit einem Programm an die bibliographischen Metadaten und über sie auch an die digitalen Veröffentlichungen zu gelangen, stehen im Wesentlichen die folgenden Wege offen:

1. Zugriff über JSON und HTML

Der Pfad http://publikationen.badw.de/-/-/indices/index.json führt zu der JSON-Datei, die auch das Gesamtverzeichnis speist. In diesem JSON findet sich unterm Schlüssel “data” die Liste aller Einträge. Jeder Eintrag ist eine Schlüssel-Wert-Zuordnung; unter den Schlüsseln “4”, “_” findet sich ein Link, z. B. http://publikationen.badw.de/de/005638025, der zur Seite mit den Metadaten und dem Link zur Veröffentlichung selbst führt (oder mehreren Links, wenn die Veröffentlichung aufgespalten ist). Diese Seite ist wohlgeformtes HTML-XML und lässt sich entsprechend ausschöpfen. Die Links zu den Zitierformaten lassen sich außerdem unmittelbar aus der Kennung der Veröffentlichung ableiten. Hier ein Beispiel, wie man die Bibtexzitationen aller Veröffentlichungen einsammeln kann (in Python geschrieben):


from urllib.parse import urlsplit
from urllib.request import urlopen
from xml.etree.ElementTree import XML

def get_pub_id(term: str) -> str:
	url = XML(f'{term}').find('.//a[@href]').attrib['href']
	return urlsplit(url).path.split('/')[-1]

starturl = 'https://publikationen.badw.de/-/-/indices/index.json'
urlform = 'https://publikationen.badw.de/-/api/cit/{}.bib'

publics = json.loads(urlopen(starturl).read().decode())['data']
pub_ids = { get_pub_id(public['4']['_']) for public in publics }
# Download of all bibtex citations – that will take quite some time:
docs = [ urlopen(urlform.format(pub_id)).read().decode() for pub_id in pub_ids ]
doc = '\n'.join(docs)
# TODO: Save ``doc`` to get all bibtex citations in one file.

2. Zugriff über OAI-PMH

Die Verwendung von OAI-PMH ist grundsätzlich nicht eben ratsam.

Die OAI-PMH-Schnittstelle erlaubt Abfragen der folgenden Art:

Die bibliographischen Angaben sind in MARC-XML geschrieben. Ferner gelten die allgemeinen Regeln zu OAI-PMH-Schnittstellen. Darüber aber stehen noch die Anforderungen der Deutschen Nationalbibliothek, deren manche in einem Leitfaden zur Lieferung von Metadaten im Format MARCXML zu finden waren. Einige sind in XML-Kommentaren der GetRecord- oder ListRecords-Antworten angedeutet.