Страницы Wiki можно экспортировать в специальный формат XML для импорта в другую установку MediaWiki или использовать в других целях, например, для анализа содержимого. См. Также m: Каналы синдикации для экспорта всей другой информации, кроме страниц, и см. Справка: Импорт при импорте страниц.
Как экспортировать
Есть как минимум шесть способов экспортировать страницы:
- Вставьте название статей в поле Special: Export или используйте https://en.wikipedia.org/wiki/Special:Export/FULLPAGENAME .
- Используйте
action=raw
. (При этом выбирается только викитекст страницы, а не формат XML, описанный ниже.) Например: https://en.wikipedia.org/w/index.php?title=Wikipedia&action=raw .. это важно использовать,/w/index.php?title=PAGENAME&action=raw
а не использовать/wiki/PAGENAME?action=raw
(см. Phab T126183 ) - Используйте API для получения данных в формате XML или JSON.
- Сценарий резервного копирования dumpBackup.php выгружает все страницы вики в XML-файл. dumpBackup.php работает только в MediaWiki 1.5 или новее. У вас должен быть прямой доступ к серверу для запуска этого скрипта. Дампы проектов mediawiki (более или менее) регулярно доступны на http://download.wikipedia.org . Дополнительная помощь находится на http://www.mediawiki.org/wiki/Manual:DumpBackup.php.
- Существует OAI-PMH -интерфейс для регулярной выборки страниц, которые были изменены с определенного времени. Для проектов Викимедиа этот интерфейс не является общедоступным. OAI-PMH содержит формат оболочки вокруг фактических экспортируемых статей.
- Используйте Python Wikipedia Robot Framework . Здесь это не объясняется.
По умолчанию включается только текущая версия страницы. При желании вы можете получить все версии с датой, временем, именем пользователя и редактировать сводку.
Дополнительно вы можете скопировать базу данных SQL. Таким образом, дампы базы данных были доступны до MediaWiki 1.5, и здесь это не будет объяснено.
Использование 'Special: Export'
Например, чтобы экспортировать все страницы пространства имен .
1. Получите имена страниц для экспорта.
- Перейдите в Special: Allpages и выберите желаемое пространство имен.
- Скопируйте список названий страниц в текстовый редактор
- Поместите все названия страниц в отдельные строки
- Приставьте к пространству имен префикс к именам страниц (например, «Справка: Содержание»), если только выбранное пространство имен не является основным пространством имен.
2. Выполните экспорт.
- Перейдите в Special: Export и вставьте все имена ваших страниц в текстовое поле, убедившись, что нет пустых строк.
- Нажмите "Отправить запрос".
- Сохраните полученный XML в файл, используя функцию сохранения вашего браузера.
и наконец...
- Откройте XML-файл в текстовом редакторе. Прокрутите вниз, чтобы проверить сообщения об ошибках .
Теперь вы можете использовать этот XML-файл для импорта .
Экспорт полной истории
Флажок в интерфейсе Special: Export позволяет выбрать, следует ли экспортировать полную историю (все версии статьи) или самую последнюю версию статей. Возвращается максимум 1000 ревизий; другие версии могут быть запрошены, как подробно описано в MW: Parameters to Special: Export .
Формат экспорта
Формат получаемого XML-файла одинаков во всех отношениях. Этот формат кодифицирован в схеме XML по адресу http://www.mediawiki.org/xml/export-0.6.xsd . Этот формат не предназначен для просмотра в веб-браузере, хотя некоторые браузеры показывают вам красиво напечатанный XML со ссылками «+» и «-» для просмотра или скрытия выбранных частей. В качестве альтернативы исходный XML-файл можно просмотреть с помощью функции браузера «просмотреть исходный код» или после локального сохранения XML-файла с помощью выбранной программы. Если вы непосредственно читаете исходный XML-код, найти настоящий вики-текст не составит труда. Если вы не используете специальный редактор XML, символы «<» и «>» отображаются как & lt; и & gt ;, чтобы избежать конфликта с тегами XML; чтобы избежать двусмысленности, "&" кодируется как "& amp;".
В текущей версии формат экспорта не содержит замену XML вики-разметки (см. Wikipedia DTD для более раннего предложения или язык разметки Wiki ). Вы получаете только вики-текст в том виде, в котором он появляется при редактировании статьи. (После экспорта вы можете использовать альтернативные парсеры для преобразования вики-текста в другой формат)
Пример
xml: lang = "ru" > Заголовок страницы 0 2 title = "Redirect page title" /> edit = sysop: move = sysop 2001-01-15T13: 15: 00Z Foobar 65536 Я хочу сказать только одно! Куча [[текста]] здесь. /> 2001-01-15T13: 10: 27Z 10.0.0.2 новинка! Более ранняя [[версия]]. 4557485 1243372 2010-06-24T02: 40: 22Z < / timestamp> < начинать удалено = "удалено" /> wikitext text / x-wiki deleted = "deleted" /> < / страница> Обсуждение: заголовок страницы 2001-01-15T14: 03: 00Z 10.0.0.2 привет ПОЧЕМУ ВЫ ЗАБЛОКИРУЕТЕ СТРАНИЦУ ?? !!! я редактировал этот придурок
DTD
Вот неофициальная короткая версия формата определения типа документа . Если вы не знаете, что такое DTD, просто игнорируйте его.
version CDATA #REQUIRED xmlns CDATA #FIXED "http: // www. mediawiki.org/xml/export-0.3/ " xmlns: xsi CDATA #FIXED" http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation CDATA #FIXED " http://www.mediawiki.org /xml/export-0.3/ http://www.mediawiki.org/xml/export-0.3.xsd " > регистры в именах страниц -> Параметр 'с учетом регистра' 'без учета регистра' зарезервирован на будущее -> < ! ELEMENT comment (#PCDATA)>
Обработка экспорта XML
Многие инструменты могут обрабатывать экспортированный XML. Если вы обрабатываете большое количество страниц (например, весь дамп), вы, вероятно, не сможете получить документ в основной памяти, поэтому вам понадобится синтаксический анализатор, основанный на SAX или других методах, управляемых событиями.
Вы также можете использовать регулярные выражения для прямой обработки частей XML-кода. Они работают быстро, но их сложно обслуживать.
Перечислите здесь методы и инструменты для обработки экспорта XML:
- Parse :: MediaWikiDump - это модуль Perl для обработки файла дампа XML.
- m: Обработка MediaWiki XML с помощью STX - XML-преобразование на основе потоков
Подробности и практические советы
- Чтобы определить пространство имен страницы, вы должны сопоставить ее заголовок с префиксом, определенным в
/ mediawiki / siteinfo / пространства имен / пространство имен
- Возможные ограничения:
- сисоп (защищенные страницы)
Смотрите также
- mw: Справка: Как переместить вики на другой сервер
- mw: Руководство: Moving_a_wiki
- Википедия: статус создателя книги Википедии
- Справка: мобильный доступ
- Справка: просмотр мультимедиа
- Википедия: Разговорные статьи
- Википедия: FAQ / Читатели
- Википедия: Руководство по Википедии
- Википедия: исследования с помощью Википедии
- Википедия: цитирование Википедии
Справка по Википедии
- Википедия: WikiProject Transwiki / exporting - инструкции по экспорту всей истории статьи из Википедии.