Eine simple aber geniale Idee: Im Wikipedia-Game klickt ihr euch von Link zu Link, um einen ganz bestimmten Artikel zu erreichen. Da wir es aber kompliziert lieben sollen Sie das Spiel für die Konsole Implementieren.
Beginnend
bei dem Artikel zu Frühstücksfleisch1 soll der Nutzer alle möglichen Links mit entsprechendem Index angezeigt bekommen. Dafür sollen Sie diese vorgefertigte URL der Wikipedia API2
verwenden. Per input()
kann der Nutzer den Index seiner Wahl eingeben und ihr Skript lädt
die nächsten Links nach. Das Spiel ist gewonnen, sobald der Artikel mit dem Namen Python
(Programmiersprache)3 erreicht ist.
Die Wikipedia API erfordert4, dass ein User-Agent
5 im Request angegeben wird.
Ein User-Agent
ist eine simple Art, um sich in der Anfrage gegenüber eines Servers zu identifizieren6 und wird als Eintrag in den Headern definiert.
In Python werden Header als dict
definiert und mit dem Keyword headers
an requests.get()
übergeben.
Ein Beispiel für deinen Wikipedia Bot könnte so aussehen:
headers = {
"User-Agent": "MeinWikipediaBot/1.0 (contact: eine-echte-mailadresse-von-dir@example.com)"
}
req = requests.get("URL", headers=headers)
https://docs.python-requests.org/en/latest/user/quickstart/#json-response-content
res.json()
verhält sich wie ein Dictionary
Sie können sich mit pprint()
ein großes Dictionary übersichtlich ausdrucken:
from pprint import pprint
pprint(großes_dictionary)
https://de.wikipedia.org/wiki/Fr%C3%BChst%C3%BCcksfleisch ↩︎
https://de.wikipedia.org/w/api.php?action=query&prop=links&pllimit=max&format=json&titles=SUCHBEGRIFF ↩︎
https://de.wikipedia.org/wiki/Python_(Programmiersprache) ↩︎
Es geht hier nicht um “Nutzer+Passwort”-Identifikation, sondern um Spezifikation des Endgerätes z.B. “Was für ein Browser bin ich und welche Features unterstützte ich”. Siehe 5. ↩︎