API:Query/de

Mit dem  können Sie Informationen über ein Wiki und die darin gespeicherten Daten abrufen, z. B. den Wikitext einer bestimmten Seite, die Links und Kategorien einer Seitengruppe oder den Token, den Sie zum  benötigen.



API-Dokumentation


Abfragemodule
Das Abfragemodul hat drei Typen von Submodulen (auch Abfragemodule genannt):


 * über das Wiki und angemeldete Benutzer.
 * von Seiten, darunter Seitenversionen und Seiteninhalt.
 * von Seiten, die bestimmte Kriterien erfüllen.

Beispiele


Beispiel 1: Seiten angeben
Im Gegensatz zu Meta- und Abfrage-Modulen funktionieren alle Eigenschaften-Abfragemodule auf einem Satz von Seiten, der auf eine der folgenden Wege festgelegt werden kann:


 * Nach Name mit dem -Parameter, z.B..
 * Nach Seiten-ID mit dem -Parameter, z.B..
 * Nach Versions-ID mit dem -Parameter, z.B.  . Die meisten Abfragemodule werden die Versions-ID in die entsprechende Seiten-ID umwandeln. Nur  nutzt derzeit die Versions-ID selbst.
 * Mit einem Generator.



Antwort


Beispiel 2: Titelnormalisierung
Titelnormalisierung wandelt Seitentitel in ihr kanonisches Format um.

Dies bedeutet, dass das erste Zeichen großgeschrieben wird, Unterstriche durch Leerzeichen ersetzt werden und Namensräume in die lokalisierte Form umgewandelt werden, die für das Wiki genutzt wird.



Antwort


Beispiel 3: Fehlende und ungültige Titel
Titel, die nicht existieren oder ungültig sind, werden in der Antwort eines der Attribute  oder   erhalten.

In Ausgabeformaten, die numerische Array-Schlüssel unterstützen, haben fehlende und ungültige Titel negative Seiten-IDs.

In manchen Fällen kann ein Titel von einen Benutzer, jedoch nicht von der API zugegriffen werden, wie Seiten, die den Inhalt eines anderen Wikis spiegeln. Für diese Titel wird in der Antwort ein -Attribut festgelegt.



Antwort


Beispiel 4: Fortsetzen von Abfragen
Wenn in der Antwort der Abfrage nicht alle Daten ausgegeben werden, gibt es ein -Attribut, das angibt, dass es noch weitere Daten gibt.



Antwort
Setze ihre Werte in die ursprüngliche Abfrage ein, um weitere Daten zu erhalten.



Antwort


Beispiel 5: Batchcomplete
Die API gibt ein -Element aus, um anzuzeigen, dass alle Daten für den aktuellen Stapel von Objekten ausgegeben wurden.

In die Antwort der Beispiel-Abfrage unten wurde  eingebunden, um anzuzeigen, dass alle Daten für jedes der drei Bilder ausgegeben wurden.

Die nächste Fortsetzung wird mit der Ausgabe der Daten für den nächsten Satz von drei Bildern beginnen.



Antwort


Beispiel 6: Generatoren
Nutze Generatoren, wenn du Daten über einen Satz von Seiten erhalten möchtest.

Um beispielsweise Daten über Seiten in einer bestimmten Kategorie zu erhalten, frage nicht zuerst  ab und dann nochmal mit   bei allen ausgegebenen Seiten, sondern kombiniere die beiden API-Abfragen mithilfe von.

Wenn du ein Listenmodul als Generator nutzt, musst du die Seiten nicht angeben.

Für ein Eigenschaftsmodul solltest du hingegen die Seiten angeben, die der Generator bearbeiten soll.

Nutze zum Beispiel, um alle Seiten zu laden, die von der Hauptseite verlinkt sind.

Parameter, die an einen Generator übergeben werden, müssen mit einem Präfix  versehen werden. Nutze bei  beispielsweise   statt.

Die einfache Abfrage unten fragt Links und Kategorien für die ersten drei Seiten im Hauptnamensraum, die mit "Ba" beginnen ab.



Continuing queries
Very often you will not get all the data you want in one API query. When that happens the API result indicates there is more data.

Because there are more data matching the query, the API result includes a  element. If you want further data, you would add its values (in the example,  and  ) to the original request to get the next set of results. You continue to do this until an API result does not have a  element, indicating there are no more data matching the query.

Here is Python code showing how to iterate over query results (using the python requests lib). Note you should not manipulate or depend on any specifics of the values returned inside the  element, as they may change.

batchcomplete
When you make an API request using a generator together with properties, the API result may signal to continue because there are more properties to retrieve for the pages so far, or because there are more pages from the generator, or both. From version 1.25 onwards, the API returns a  element to indicate that all data for the current "batch" of pages has been returned. This can be useful to avoid building a combined result set for thousands of pages when using a generator together with prop modules that may themselves need continuation.

Backwards compatibility of continue
From MediaWiki 1.21 to 1.25, it was required to specify  (i.e. with an empty string as the value) in the initial request to get continuation data in the format described above. Without doing that, API results would indicate there is additional data by returning a  element, explained in Raw query continue. Prior to 1.21, that raw continuation was the only option.

If your application needs to use the raw continuation in MediaWiki 1.26 or later, you must specify  to request it.



Mögliche Warnungen
<span id="Parameter_history">

Parametergeschichte

 * v1.21: Eingeführt
 * v1.24: Eingeführt  (Anmerkung: raw continuation war das Standardverhalten bis v1.26)

<span id="Additional_notes">

Zusätzliche Anmerkungen

 * Die Angabe der Titel über  oder   ist auf 50 Titel je Abfrage oder 500 für Benutzer mit dem Recht   begrenzt.
 * Nutze mehrere Abfragemodule zusammen, um in einer Abfrage zu erhalten, was du benötigst, z.B..
 * Generators always pass page titles to the query module. Unlike lists (which may include additional data by default), generators should not output any information themselves, unless when explicitly requested via the generator module's query parameters.

<span id="Resolving_redirects">

Weiterleitungen auflösen
Weiterleitungen können automatisch aufgelöst werden, sodass das Ziel einer Weiterleitung statt des gegebenen Titels ausgegeben wird. Wenn vorhanden, werden sie immer die Attribute  und   enthalten und können für Weiterleitungen, die auf bestimmte Abschnitte verweisen, das Attribut   enthalten.

Sowohl Normalisierung als auch Weiterleitung können stattfinden. Im Fall mehrfacher Weiterleitungen werden alle Weiterleitungen aufgelöst und im Falle einer Weiterleitung im Kreis gibt es möglicherweise keine Seite im Abschnitt 'pages' (siehe auch unten). Die Auflösung von Weiterleitungen kann nicht zusammen mit dem Parameter  oder einem Generator, der Versions-IDs generiert, genutzt werden; dies zu tun wird eine Warnung auslösen und Weiterleitungen für die angegebenen Versions-IDs werden nicht aufgelöst.

Die Beispiele unten zeigen, wie der Parameter  funktioniert.

<span id="See_also">

Siehe auch

 * - Die Schnellstart-Anleitung.
 * - Enthält Informationen zur Nutzung des Parameters.