Příručka:Parametry pro Special:Export
Více na stránce: Manual:DumpBackup.php
Stránky wiki lze exportovat ve speciálním formátu XML pro nahrání na jinou MediaWiki.[1] Více informací naleznete na stránce Nápověda:Export .
Dostupné parametry
Níže je uveden seznam dostupných parametrů pro Special:Export od verze 1.16. Ne všechny z nich jsou dostupné prostřednictvím uživatelského rozhraní Special:Export.
| Parametr | Typ proměnné | Popis |
|---|---|---|
action
|
řetězec | Nepoužité. V exportním formuláři nastaveno na "submit" (odeslat). |
| Výběr stránky | ||
/ (bez parametru)
|
Vybere až jednu stránku, např. Special:Export/Sandbox. | |
pages
|
? | Seznam názvů stránek oddělených znaky pro posun na nový řádek (%0A). Maximálně 35 stránek. |
addcat/kategorie-název
|
řetězec? | Bylo přidáno později. addcat vrací všechny členy kategorie catname, které jsou do ní přidané. Pokud je povolena volba $wgExportFromNamespaces , volby addns a nsindex dělají totéž, ale s jmennými prostory a jejich číselnými indexy. Maximální počet vrácených titulů je 7 stran.
Například následující kód platí pro všechny stránky v en:Category:Books: https://en.wikipedia.org/w/index.php?title=Special:Export&addcat&catname=Books&pages=XXXX |
addns/index-jmenný prostor
| ||
| Řazení | ||
dir[2]
|
řetězec | Mělo by být nastaveno na "desc" pro načtení revizí v obráceném chronologickém pořadí.
Výchozí nastavení, pokud je tento parametr vynechán, je načítání revizí ve vzestupném pořadí podle časového razítka (od nejstarší po nejnovější). |
| Omezující výsledky | ||
offset[2]
|
? | Časové razítko, od kterého se má začít, které není inkluzivní. Časové razítko může být v několika formátech, včetně 14znakového formátu obvykle používaného MediaWiki a formátu ISO 8601, jako je ten, který je výstupem XML výpisů. |
limit[2]
|
celé číslo | Maximální počet vrácených revizí. Pokud požadujete více než maximum specifické pro daný web (v současnosti definované v $wgExportMaxHistory :1 000 na projektech Wikimedie), bude počet snížen na tento počet.
Tento limit je kumulativní pro všechny stránky uvedené v parametru pages. Pokud například požadujete limit 100, pro dvě stránky se 70 revizemi každá získáte 70 z jedné a 30 z druhé.[3] |
curonly
|
boolean | Zahrnout pouze aktuální revizi (výchozí nastavení pro požadavky GET). |
history
|
? | Zahrňte celou historii, přepsáním hodnot dir, limit a offset.
Tohle nefunguje pro všechny, řekněme https://en.wikipedia.org/w/index.php?title=Special:Export&pages=US_Open_(tennis)&history=1&action=submit funguje dobře a dává všechny revize, ale https://en.wikipedia.org/w/index.php?title=Special:Export&pages=India&history=1&action=submit ne. |
| Doplňky | ||
templates
|
? | Zahrnuje všechny zahrnuté šablony na všech stránkách uvedených k exportu. |
listauthors
|
boolean | Pro každou stránku uveďte seznam jmen a uživatelských ID všech přispěvatelů. Funkce je ve výchozím nastavení zakázána. Lze ji povolit změnou hodnoty $wgExportAllowListContributors . |
pagelink-depth
|
celé číslo | Zahrnuje všechny propojené stránky do zadané hloubky. Omezeno na $wgExportMaxLinkDepth (výchozí hodnota je 0, funkce je vypnuta) nebo 5, pokud uživatel nemá oprávnění ke změně limitů. |
wpDownload
|
? | Uložit jako soubor s aktuálním časovým razítkem. Implementováno pomocí HTTP hlavičky dispozice obsahu:attachment.
|
Požadavky na parametry URL nefungují
Parametry dir, offset a limit fungují pouze pro požadavky POST.
GET požadavky přes URL jsou ignorovány.
Když používáte URL adresu jako v prohlížeči, odesíláte ji pomocí metody GET. V ruby skriptu používáte POST.
Například následující požadavek na parametr nefunguje, vrací všechny revize stránky i přes limit parametru = 5.
https://en.wikipedia.org/w/index.php?title=Special:Export&pages=XXXX&offset=1&limit=5&action=submit
Načítání 5 nejstarších revizí
POST požadavek je generován funkcí cURL při předání -d "".
Následující text načítá 5 nejstarších revizí z hlavní stránky anglické Wikipedie a její diskusní stránky:
curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page%0ATalk:Main_Page&offset=1&limit=5&action=submit'
A zde je dalších 5 revizí pouze hlavní stránky:
curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Main_Page&offset=2002年01月27日T20:25:56Z&limit=5&action=submit'
Zde se časové razítko z poslední revize předchozího dotazu zkopíruje do pole offset adresy URL. Protože pole offset není inkluzivní, tato 5. revize se znovu nezobrazí a místo toho se zobrazí revize 6–10.[4]
POST požadavek na stažení
Explicitnější příklad, zvláště pokud chcete tu zatracenou věc také zachránit, by byl
curl -d "&pages=Main_Page&offset=1&action=submit" https://en.wikipedia.org/w/index.php?title=Special:Export -o "somefilename.xml"
Kořenová adresa URL musí splňovat parametry MediaWiki... také si všimněte, že pro uložení souboru jako něco je třeba na konec přidat parametry curl. Jinak se to bude jen posouvat po obrazovce a nic se neuloží.
Pokud máte místo toho seznam názvů v souboru, řekněme title-list, musíte tento seznam předat jako parametr, aby se správně zvlnily a zakódovaly řádkové posuny (z nějakého důvodu --data-urlencode a @ nefungují):
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"
Pokud chcete ušetřit šířku pásma, přidejte také následující argumenty:
--compressed -H 'Accept-Encoding: gzip,deflate'
Zastavení exportu vaší MediaWiki
Mějte prosím na paměti, že ztížení zálohování práce uživatelů je může odradit od přispívání do vaší wiki.
Pokud je v parametru LocalSettings.php nastavena hodnota $wgExportAllowHistory na hodnotu false, lze exportovat pouze aktuální verzi, nikoli celou historii.
Ve výchozím nastavení se u požadavků GET vrací pouze aktuální (poslední) verze každé stránky.
Pokud je parametr $wgExportAllowHistory v proměnné LocalSettings.php pravdivý a proměnná Zahrnout jen současnou verzi, ne plnou historii není zaškrtnuta, vrátí se všechny verze každé stránky.
Chcete-li export úplně zakázat, musíte v souboru LocalSettings.php nastavit funkci zpětného volání:
function removeExportSpecial(&$aSpecialPages) { unset($aSpecialPages['Export']); return true; } $wgHooks['SpecialPage_initList'][] = 'removeExportSpecial';
Pokud chcete definovat oprávnění pro export, vložte do souboru LocalSettings.php následující:
// Přepsat SpecialExport, což je funkční pro MW1.35 // Parametry funkce __construct() se v novějších verzích změnily. class SpecialExport2 extends SpecialExport { public function __construct(...$args) { parent::__construct(...$args); $this->mRestriction = 'export'; } public function execute( $par ) { $this->checkPermissions(); parent::execute( $par ); } } function adjustExportSpecial(&$aSpecialPages) { $aSpecialPages['Export']['class'] = SpecialExport2::class; return true; } $wgHooks['SpecialPage_initList'][] = 'adjustExportSpecial'; $wgGroupPermissions['sysop']['export'] = true; // Přidat exportní oprávnění pouze pro sysop
Mějte na paměti, že export je stále možný, pokud máte povolené API.
Poznámky pod čarou
- ↑ Pokud je tato funkce na cílové wiki povolena a uživatel je tam systémovým manažerem, lze export použít k analýze obsahu. Viz také Syndikační kanály pro export jiných informací než stránek a Nápověda:Import pro import stránek.
- ↑ 2.0 2.1 2.2
Tyto parametry jsou ignorovány, pokud je zadán buď
curonly, nebohistory, nebo pokud jsou předány prostřednictvím požadavku GET (např. adresní řádek prohlížeče). Více informací naleznete v článku Požadavky na parametry URL nefungují. - ↑ Pořadí je podle page_id, stránky s nižším page_id dostanou více revizí. Důvodem je, že Special:Export provádí pouze jeden databázový dotaz na jeden HTTP požadavek. Pokud chcete vyžádat celou historii několika stránek s mnoha revizemi, musíte to udělat stránku po stránce.
- ↑ Tato konvence parametrů je velmi podobná té pro stránky historie uživatelského rozhraní.
Související odkazy