Вставка статей прямо в базу данных MediaWiki

Мне нужен способ вставлять новые статьи прямо в мою базу данных MediaWiki, не повреждая установку вики.

Я предполагаю, что если бы я знал, какие таблицы/атрибуты вставляет MediaWiki при создании новой статьи, то я мог бы заполнить их самостоятельно.

Кто-нибудь знает лучший способ или есть какие-либо предложения?


person Community    schedule 07.07.2009    source источник


Ответы (6)


Из множества ботов и API-интерфейсов, доступных для MediaWiki, проще всего начать с массового создания страниц MediaWiki.

Это простой PHP-скрипт, основанный на библиотеке классов Snoopy, который может создавать несколько страниц из простого текстового формата.

Прежде чем начать, обязательно прочитайте Создание бота. он содержит важную информацию о том, как настроить доступ ботов к вашей вики.

person Laurent Alquier    schedule 08.07.2009
comment
Очень полезно, я настроил это и запустил мой rss-скрипт примерно за 30 минут. Спасибо! - person ; 10.07.2009

Я автор Bulk Page Creator, приятно видеть, что он все еще используется!!!

Мой последний инструмент импорта MediaWiki создает страницы из файла данных CSV и шаблона страницы. Он генерирует файлы импорта Mediawiki XML, как это было предложено Адрианом.

Проверьте это

Импорт Mediawiki CSV

person JCutrer    schedule 06.07.2011
comment
Я прочитал много страниц о добавлении новой статьи, как насчет категорий, создает ли медиа-вики дерево категорий отдельно? Я думаю, что первым шагом перехода от совершенно другой базы данных к медиа-вики является создание категорий, не так ли? - person hpaknia; 11.06.2013

Определенно вы не хотите писать в базу данных напрямую. Вы можете создать расширение, которое берет выбранные элементы из RSS в качестве входных данных и создает одну вики-статью для каждого элемента, используя Article::doEdit().

person Joshua C. Lerner    schedule 07.07.2009

Вы должны сделать это с ботом. Боты могут работать автономно, но если вы интегрируете их с другим кодом, вы можете выбрать язык. Для PHP существует Массовый создатель страниц MediaWiki. Для Python pymediawiki поставляется с Pagefromfile.

Существует также расширение Ярона Корена под названием Внешние данные, который решает связанную задачу. Он позволяет вам включать данные из внешних источников на ваши вики-страницы. Вы можете извлекать определенные элементы из CSV, XML или JSON, извлеченные из URL-адресов, локальных файлов или базы данных.

person Matt G    schedule 10.07.2009

Зачем вам это нужно?

  • Если вы пытаетесь перенести данные из предыдущей установки вики, инструменты импорта и экспорта уже существуют.
  • Если вы хотите автоматически добавлять большой набор предварительно отформатированных страниц, MediaWiki API обеспечивает более безопасный путь, чем прямое вмешательство в базу данных.
person ephemient    schedule 07.07.2009
comment
Я пишу php-скрипт для перечисления различных RSS-каналов, из которых пользователь может выбирать статьи для добавления в вики. Я не слишком уверен в том, как использовать API для этого, поскольку я никогда не использовал его раньше. Можно ли создать сразу несколько страниц (в зависимости от того, сколько статей выбрал пользователь) с помощью API? - person ; 08.07.2009
comment
Я не уверен, что вы можете создать много страниц за один вызов без использования action=import, но вы можете просто вызывать action=edit несколько раз, по одному разу для каждой новой страницы, которую вы хотите создать. - person ephemient; 08.07.2009
comment
Вероятно, я могу использовать cURL для отправки нескольких вызовов API. У меня возникли проблемы с выяснением того, как использовать/создать токен редактирования или указать, с каким пользователем выполнять публикацию. В остальном я на правильном пути. Спасибо за помощь. - person ; 08.07.2009

Экспорт страниц с помощью Special:Export

Импортируйте страницы, используя Special:Import. Обратите внимание, что для импорта у вас должно быть право пользователя на импорт.

person Adrian Archer    schedule 08.07.2009