Zeit Online API in Python
A simple Python Wrapper for the Zeit Online Content API, written in python by Marten Walk. Not official from Zeit Online !
For an overview of the API, view the original Docs or try them out in their explorer.
For all of this to work, you need an API-Key from their developer team, get one by writing a mail to api@zeit.de. Be nice and state your intention.
Developed by Marten Walk, view my Github-Profile for more info or drop me a mail at kkx@protonmail.com.
Setup
you can install the package with pip from PYPI, the python package Index.
pip install zeit-online
To import the package into your file just run this simple command
import zeit
To get started with interacting with the API, you need to initiate a API-Instance and set your API-Key you got from the developers
api = zeit.API()
api.set_token("API-KEY") #put your key in here
Examples
Now you have many different methods at your hands to interact with the API. Look at the full documentation to see everything.
A simple method is the get_status method to check the status of your connection
api.get_status() #returns "everything ok" if it works
I would say the most important Method is the search_for method. With it, you can search all endpoints in the API for a specified string.
api.search_for("Bundestag") # search the default content endpoint for "John Kennedy", returns a search class
Search for 'Bundestag': 42942 results, limit: 10, matches :
Koalition streicht Begriff "Rasse" aus dem Grundgesetz: http://api.zeit.de/content/1NRyOjRaneKYH6JRs87m46
Bund einigt sich mit AKW-Betreibern auf Entschädigung: http://api.zeit.de/content/5A6U2BpxAaU1YV6Yx9xPY4
"Das Gift ist da": http://api.zeit.de/content/3vrvroDbLrfwJ5VtigrEbh
Die Losbürger: http://api.zeit.de/content/7jM8ZQEFHYM0slSPyL3AN2
"Eine Weigerung hätte schmerzhafte Folgen für die Türkei": http://api.zeit.de/content/7h40VsJ5r2wNJgg6Msld8K
Der nächste Schock nimmt schon Anlauf: http://api.zeit.de/content/j4LDNEBKPGN1vjbOJKpxz
Für Störungen im Bundestag kann künftig Ordnungsgeld verhängt werden: http://api.zeit.de/content/2GOxLhUi8B48g2OziIZPCA
Von Storch und Pazderski wollen gemeinsam Berliner AfD führen: http://api.zeit.de/content/JB8hW8UFGRB9NZyY0TgMM
Bundestag hebt Immunität von CDU-Abgeordnetem Axel Fischer auf: http://api.zeit.de/content/tjB5SFOmwOmzGyZfOpZMq
Bundestag verlängert Rechtsgrundlage für Pandemie-Maßnahmen: http://api.zeit.de/content/3eGseNLQSwHjA3SHwq22hP
Obviously, this is specific to today (05.03.2021), but it shows how it works. If we now select the first article and search for it via get_article() function, we get an Article Object, with which we can interact in different ways.
Article = api.get_article("1NRyOjRaneKYH6JRs87m46") #you can use the complete uri or just the id
print(Article)
Article with title 'Koalition streicht Begriff "Rasse" aus dem Grundgesetz'
UUID: 1NRyOjRaneKYH6JRs87m46,
URI: http://api.zeit.de/content/1NRyOjRaneKYH6JRs87m46
teaser_text: 'Die Bundesregierung hat sich auf eine Änderung des Grundgesetzes verständigt: Innen- und Justizministerium einigten sich darauf, wie das Wort "Rasse" ersetzt werden soll.'
Now we can access different attributes of the Article Instance and use different methods.
print(Article.supertitle)#print the supertitle of the article instance
print(Article.title) #print title
print(Article.text) #print the teaser text
Verfassungsänderung
Koalition streicht Begriff "Rasse" aus dem Grundgesetz
Die Bundesregierung hat sich auf eine Änderung des Grundgesetzes verständigt: Innen- und Justizministerium einigten sich darauf, wie das Wort "Rasse" ersetzt werden soll.
We can also get the keywords of the article with the get_keywords() method
Article.get_keywords() #get the keywords linked to the article
Output:
{'http://api.zeit.de/keyword/grundgesetz': 'Grundgesetz',
'http://api.zeit.de/keyword/rassismus': 'Rassismus',
'http://api.zeit.de/keyword/diskriminierung': 'Diskriminierung',
'http://api.zeit.de/keyword/justizministerium': 'Justizministerium',
'http://api.zeit.de/keyword/horst-seehofer': 'Horst Seehofer',
'http://api.zeit.de/keyword/berlin': 'Berlin',
'http://api.zeit.de/keyword/alexanderplatz': 'Alexanderplatz',
'http://api.zeit.de/keyword/usa': 'USA',
'http://api.zeit.de/keyword/bundesregierung': 'Bundesregierung',
'http://api.zeit.de/keyword/csu': 'CSU',
'http://api.zeit.de/keyword/bundestag': 'Bundestag'}
The zeit package also has many more Classes and methods, you can read about them in the Further Reading Section. For example, there is a Keyword class to quickly get information about a keyword or the Search Class to extract information about a search you made in the API.
Further reading
If you need more info, take a look at the menu bar. There you can find more Information about other classes or the article class
If there are questions left: contact me at kkx@protonmail.com
© made by Marten Walk