Benutzer:AxelCorti/Wikipedia API

aus Wikipedia, der freien Enzyklopädie

Einführung in die Verwendung des Wikipedia API

Überblick

Das Application Programming Interface (API) für Wikipedia ist durch die technische Grundlage Vorlage:Https://www.mediawiki.org gegeben. Die ausführliche Vorlage:Https://www.mediawiki.org/wiki/Manual:Contents 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

Die Anfragemethode GET

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#