Подтвердить что ты не робот

Как экспортировать текст со всех страниц MediaWiki?

У меня работает MediaWiki, который представляет словарь немецких терминов и их перевод на локальный диалект. Каждая страница содержит один термин, его перевод и ряд дополнительных сведений.

Теперь, для пригодной для печати версии словаря, мне нужен полный экспорт всех терминов и их перевод. Поскольку это фрагмент содержимого страницы, мне кажется, мне нужен полный экспорт всех страниц в их новейшей версии в разборном формате, например. xml или csv.

Кто-нибудь сделал это или может указать мне на инструмент? Следует отметить, что у меня нет полного доступа к серверу, например. нет командной строки, но я могу добавить расширения MediaWiki или получить доступ к базе данных MySQL.

4b9b3361

Ответ 1

Я не полностью удовлетворен решением, но в итоге я указал общую категорию для всех страниц, а затем я могу добавить эту категорию и все содержащиеся имена страниц в поле "Специальный: Экспорт". Кажется, все работает, хотя я не уверен, что он будет работать, когда я дойду до нескольких тысяч страниц.

Ответ 2

Вы можете экспортировать содержимое страницы непосредственно из базы данных. Это будет сырая разметка wiki, как при использовании Special: Export. Но экспорт script будет проще, и вам не нужно проверять, чтобы все ваши страницы находились в какой-то специальной категории.

Вот пример:

SELECT page_title, page_touched, old_text
FROM revision,page,text
WHERE revision.rev_id=page.page_latest
AND text.old_id=revision.rev_text_id;

Если ваша вики использует Postgresql, таблица "текст" называется "pagecontent", и вам может потребоваться указать схему. В этом случае тот же запрос будет выглядеть следующим образом:

SET search_path TO mediawiki,public;

SELECT page_title, page_touched, old_text 
FROM revision,page,pagecontent
WHERE revision.rev_id=page.page_latest
AND pagecontent.old_id=revision.rev_text_id;

Ответ 3

Это работало очень хорошо для меня. Обратите внимание, что я перенаправил вывод в файл backup.xml. В командной строке Windows Command Processor (CMD.exe):

cd \PATH_TO_YOUR_WIKI_INSTALLATION\maintenance
\PATH_OF_PHP.EXE\php dumpBackup.php --full > backup.xml

Ответ 4

Экспорт

cd maintenance
php5 ./dumpBackup.php --current > /path/wiki_dump.xml

Импорт

cd maintenance
php5 ./importDump.php < /path/wiki_dump.xml

Ответ 5

Это выглядит не так просто. http://meta.wikimedia.org/wiki/Help:Export может помочь, но, вероятно, нет.

Если все страницы структурированы одинаково, вы можете написать веб-скребок с чем-то вроде Scrapy

Ответ 6

Вы можете использовать специальную страницу Специально: Экспорт для экспорта в XML; здесь версия Википедии.

Вы также можете рассмотреть Extension: Collection, если хотите, чтобы в конечном итоге это была форма для чтения человеком (например, PDF).