Jump to content

Handbuch:Parameter für Spezial:Export

From mediawiki.org
This page is a translated version of the page Manual:Parameters to Special:Export and the translation is 100% complete.

Wiki-Seiten können in einem speziellen XML-Format exportiert werden, um sie in einem anderen MediaWiki hochzuladen.[1] Siehe Hilfe:Export für weitere Details.

Verfügbare Parameter

Unten befindet sich eine Liste verfügbarer Parameter für Special:Export mit Stand von Version 1.16. Nicht alle dieser Parameter sind über die Benutzeroberfläche von Spezial:Export verfügbar.

Parameter Typ der Variablen Beschreibung
action Zeichenkette Ungenutzt; im Export-Formular auf "submit" gesetzt.
Seitenauswahl
/ (kein Parameter) Wählt bis zu eine Seite aus, z. B. Special:Export/Sandbox
pages ? Eine Liste von Seitentiteln, getrennt durch Zeilenvorschub-Zeichen (%0A). Maximal 35 Seiten.
addcat/Kategorienname Zeichenkette? Diese wurden später hinzugefügt. addcat gibt alle Mitglieder der Kategorie catname aus. Wenn $wgExportFromNamespaces aktiviert ist, tun addns und nsindex das gleiche, allerdings mit Namensräumen und ihrem numerischen Index. Es werden maximal 5.000 Seiten ausgegeben.

Beispielsweise folgendes für alle Seiten in en:Category:Books:

https://en.wikipedia.org/w/index.php?title=Special:Export&addcat&catname=Books&pages=XXXX

addns/Namensraum-Index
Sortierung
dir[2] Zeichenkette Sollte auf "desc" gesetzt werden, um Versionen in umgekehrter chronologischer Reihenfolge abzurufen.

Wenn dieser Parameter weggelassen wird, werden Versionen standardmäßig in aufsteigender chronologischer Reihenfolge des Zeitstempels abgerufen (älteste zu neuesten).

Begrenzung der Ergebnisse
offset[2] ? Der Zeitstempel, nach dem begonnen werden soll. Der Zeitstempel kann in verschiedenen Formaten angegeben werden, darunter das üblicherweise in MediaWiki genutzte Format mit 14 Zeichen, und ein Format in ISO 8601, wie in der Ausgabe der XML-Dumps.
limit[2] Ganzzahl Die maximale Anzahl auszugebender Versionen. Wenn du mehr als ein seitenspezifisches Maximum anfragst (definiert in $wgExportMaxHistory : derzeit 1.000 in Wikimedia-Projekten), wird die Anzahl auf diese Zahl reduziert.

Diese Seite ist kumulativ für alle im Parameter pages angegebenen Seiten. Wenn du beispielsweise ein Limit von 100 für zwei Seiten mit je 70 Versionen anfragst, erhältst du 70 von der einen und 30 von der anderen.[3]

curonly Wahrheitswert Umfasst nur die aktuelle Version (Standard für GET-Anfragen).
history ? Umfasst die vollständige Versionsgeschichte, überschreibt dir, limit und offset.

Funktioniert nicht immer. https://en.wikipedia.org/w/index.php?title=Special:Export&pages=US_Open_(tennis)&history=1&action=submit funktioniert und gibt alle Versionen aus, https://en.wikipedia.org/w/index.php?title=Special:Export&pages=India&history=1&action=submit hingegen nicht.

Extras
templates ? Umfasst alle eingebundenen Vorlagen auf allen für den Export angegebenen Seiten.
listauthors Wahrheitswert Umfasst eine Liste aller Benutzernamen und Benutzer-IDs für jede Seite. Funktion ist standardmäßig deaktiviert; kann über die Änderung von $wgExportAllowListContributors aktiviert werden.
pagelink-depth Ganzzahl Umfasst alle verlinkten Seiten bis zur angegebenen Tiefe. Begrenzt auf $wgExportMaxLinkDepth (standardmäßig 0, deaktiviert die Funktion) oder 5, wenn der Benutzer nicht die Berechtigung hat, Limits zu ändern.
wpDownload ? Speicherung als Datei, benannt mit dem aktuellen Zeitstempel. Implementiert über content-disposition:attachment-HTTP-Header.

Anfragen mit URL-Parametern funktionieren nicht

Die Parameter dir, offset und limit funktionieren nur bei POST-Anfragen. GET-Anfragen über eine URL werden ignoriert.

Wenn du die URL wie in einem Browser nutzt, übermittelst du über GET. Im Ruby-Skript nutzt du POST.

Beispielsweise funktionieren die folgenden Parameter-Anfragen nicht und es werden trotz des Parameters limit=5 alle Versionen einer Seite ausgegeben.

https://en.wikipedia.org/w/index.php?title=Special:Export&pages=XXXX&offset=1&limit=5&action=submit

Abrufen der 5 ältesten Versionen

Eine POST-Anfrage wird von cURL generiert, wenn -d "" übergeben wird. Mit folgendem werden die 5 ältesten Versionen der Hauptseite der Englischsprachigen Wikipedia und ihrer Diskussionsseite abgerufen:

curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page%0ATalk:Main_Page&offset=1&limit=5&action=submit'

Und hier sind die nächsten 5 Versionen der Hauptseite:

curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page&offset=2002-01-27T20:25:56Z&limit=5&action=submit'

Hier wird der Zeitstempel aus der letzten Version der vorherigen Abfrage in das Offset-Feld der URL kopiert. Da das offset-Feld nicht-inklusiv ist, wird die fünfte Version nicht erneut angezeigt und wir erhalten stattdessen die Versionen 6-10.[4]

POST-Anfragen zum Herunterladen

Ein deutlicheres Beispiel, insbesondere wenn du das Ergebnis auch speichern möchtest, wäre

curl -d "&pages=Main_Page&offset=1&action=submit" https://en.wikipedia.org/w/index.php?title=Special:Export -o "somefilename.xml"

Die URL-Wurzel muss den MediaWiki-Parametern folgen... Beachte auch, dass du die curl-Parameter am Ende hinzufügen musst, um die Datei zu speichern. Andernfalls wird es nur auf deinem Bildschirm angezeigt und es wird nichts gespeichert. Derzeit befinden sich die Wikipedia-Server anscheinend in Wartung, weshalb die obige Methode einen Fehler anzeigt und nicht die XML-Datei ausgibt.

Wenn du stattdessen die Liste von Titeln in einer Datei hast, beispielsweise title-list, musst du die Liste als einen Parameter an curl übergeben und den Zeilenvorschub korrekt codieren (--data-urlencode und @ funktionieren aus irgendeinem Grund nicht):

curl -d "&action=submit&pages=$(cat title-list | hexdump -v -e '/1 "%02x"' | sed 's/\(..\)/%\1/g' )" https://en.wikipedia.org/w/index.php?title=Special:Export -o "somefilename.xml"

Wenn du Bandweite sparen möchtest, hänge auch folgende Argumente an:

--compressed -H 'Accept-Encoding: gzip,deflate'

Stoppen des Exports deines MediaWikis

Bitte denke daran, dass deine Benutzer demotiviert werden könnten, zu deinem Wikis beizutragen, wenn du es ihnen erschwerst, ihre Arbeit zu sichern.

Wenn $wgExportAllowHistory in LocalSettings.php auf falsch gesetzt ist, kann nur die aktuelle Version exportiert werden und nicht die ganze Versionsgeschichte.

Standardmäßig wird bei GET-Anfragen nur die aktuelle (letzte) Version jeder Seite ausgegeben.

Wenn der Parameter $wgExportAllowHistory in LocalSettings.php wahr ist und "Nur die aktuelle Version der Seite exportieren" nicht ausgewählt ist, werden alle Versionen jeder Seite ausgegeben.

Um den Export komplett zu deaktivieren, musst du in deiner LocalSettings.php eine Callback-Funktion setzen:

function removeExportSpecial(&$aSpecialPages)
{
	unset($aSpecialPages['Export']);
	return true;
}
$wgHooks['SpecialPage_initList'][] = 'removeExportSpecial';

Wenn du eine Berechtigung für den Export definieren möchtest, füge folgendes in deine LocalSettings.php ein:

// Override SpecialExport, which is work for MW1.35
// the parameters of __construct() are changed in later versions
class SpecialExport2 extends SpecialExport {
    public function __construct() {
        parent::__construct();
        $this->mRestriction = 'export';
    }
    public function execute( $par ) {
        $this->checkPermissions();
        parent::execute( $par );
    }
}
function adjustExportSpecial(&$aSpecialPages)
{
	$aSpecialPages['Export'] = SpecialExport2::class;
	return true;
}
$wgHooks['SpecialPage_initList'][] = 'adjustExportSpecial';
$wgGroupPermissions['sysop']['export'] = true; // Add export permission to sysop only

Denke daran, dass der Export weiterhin möglich ist, wenn du die API aktiviert hast.

Anmerkungen

  1. Wenn die Funktion im Ziel-Wiki aktiviert ist und der Benutzer dort Administrator ist. Der Export kann zur Analyse des Inhalts genutzt werden. Siehe auch Feeds für den Export anderer Informationen als Seiten und Help:Import[[:| ]] zum Importieren von Seiten.
  2. 2.0 2.1 2.2 Diese Parameter werden ignoriert, wenn entweder curonly oder history angegeben sind oder über eine GET-Anfrage (z. B. die Adressleiste des Browsers) übergeben werden. Siehe Anfragen mit URL-Parametern funktionieren nicht für weitere Informationen.
  3. Die Reihenfolge richtet sich nach der page_id, wobei Seiten mit niedrigerer page_id mehr Versionen erhalten. Der Grund hierfür ist, dass Spezial:Export nur eine Datenbank-Abfrage je HTTP-Anfrage stellt. Wenn du die gesamte Versionsgeschichte von mehreren Seiten mit vielen Versionen abfragst, darfst du dies nur für je eine Seite tun.
  4. Diese Parameter-Konvention ähnelt sehr derjenigen für Versionsgeschichten in der Benutzeroberfläche.

Siehe auch