Benutzer:AxelCorti/Wikipedia API

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Einführung in die Verwendung des Wikipedia API

[Bearbeiten | Quelltext bearbeiten]

Das Application Programming Interface (API) für Wikipedia ist durch die technische Grundlage MediaWiki gegeben. Die ausführliche Dokumentation des API von MediaWiki ist grundsätzlich auch für Wikipedia anwendbar. Allerdings entstehen durch die Besonderheiten der Installation auch einige Besonderheiten.

Die Funktionen des API werden mit HTTP-Nachrichten an einen der Wikipedia-Server (z.B. https://de.wikipedia.org/w/api.php) gesendet. Folgende Funktionsgruppen stehen zur Verfügung:

  • Überwachung einer Installation
  • Verwaltung der Benutzer
  • Abfragen von Daten und Metadaten zu Seiten
  • Änderungen von Seiten

Ergebnisse werden in verschiedenen Formaten geliefert, wobei json gut lesbar und verarbeitbar ist; auch xml steht (noch) zur Verfügung.

Das Formulieren von Anfragen

[Bearbeiten | Quelltext bearbeiten]

Die Anfragemethode GET

[Bearbeiten | Quelltext bearbeiten]

Die folgende Java-Methode skizziert, wie eine GET-Anfrage auszuführen ist. (Eine detaillierte Behandlung der Exceptions wäre zweckmäßig.)

static final String PATH = "https://de.wikipedia.org/w/api.php";
String get(String... params) throws Exception {
    String str = PATH + '?' + String.join( "&", params );
    URI uri = new URI( str );
    Builder builder = HttpRequest.newBuilder().uri( uri );
    HttpRequest request = builder.header( "User-Agent", "de:User:YourName testing" ).build();
    HttpClient client = HttpClient.newHttpClient();
    HttpResponse<String> response = client.send( request, BodyHandlers.ofString() );
    return response.body();
}

Die Parameter wären als

action=query&format=xml&prop=pageprops%7Cinfo&inprop=url&titles=Adriano%20Franci#