Клиентские библиотеки содержат готовый код, который разработчики могут использовать в разработке ботов для решения различных задач. Благодаря библиотекам им не нужно писать код с нуля, когда их проекты взаимодействуют с API.

Эта страница содержит набор библиотек по языкам, для которых указано до трех рекомендуемых клиентских библиотек, которые можно использовать с MediaWiki Action API. Рекомендации основаны на оценках с использованием API:Client_code/Gold_standard.

Список библиотек API править

Awk править

Название Описание
BotWikiAwk Фреймворк и библиотеки для создания ботов. Включает примеры ботов.
Wikiget Программа Awk CLI для взаимодействия с MediaWiki API для чтения / записи, включая OAuth.

C ++ править

Имя Описание
libmediawiki Библиотека, позволяющая легко редактировать вики через MediaWiki API.

Common Lisp править

Имя Описание
cl-mediawiki Оболочка Common Lisp для API MediaWiki.

Go править

Имя Описание
go-mediawiki Оболочка Go для MediaWiki API.
go-mwclient Оболочка для MediaWiki API (поддерживает maxlag, продолжения запросов, OAuth).

Haskell править

Имя Описание
haskell mediawiki Полная привязка Haskell к MediaWiki API, позволяющая программно получать доступ (читать и писать) к содержимому MediaWiki.

Java править

Имя Описание
JavaWikiBotFramework Библиотека для получения данных и поддержки вики-сайтов на основе MediaWiki, таких как Википедия.
jwiki Библиотека для простого взаимодействия с Wikipedia / MediaWiki.
Bliki Engine Может конвертировать викикод в HTML, DocBook или PDF. Имеет вспомогательную библиотеку для вызовов API.

Дополнительные библиотеки Java доступны по адресу API:Client_code/All#Java.

JavaScript править

Имя Описание
mwbot (Node.js) MWBot использует шаблон Promise и другие методологии ES6, оптимизированные для создания ботов, которые вносят изменения. Работает с любым сайтом MediaWiki.
nodemw (Node.js) Стандартный клиент MediaWiki API для Node.js.
mediawiki.api (браузер) Универсальный клиент MediaWiki API для клиентского JavaScript. Он поставляется с ядром MediaWiki в виде пакета модуля ResourceLoader. Он абстрагирует некоторые высокоуровневые концепции и предоставляет общий клиент для других запросов.

Вики-клиенты JavaScript:

Имя Описание
mwapilib2 Слой поверх запросов. Сделайте JS-гаджеты проще.
JsMwApi Удобная оболочка для необработанных запросов с некоторыми помощниками для редактирования и анализа.

Дополнительные библиотеки JavaScript доступны по адресу API:Client_code/All#JavaScript.

Lua править

Имя Описание
mediawikiapi Выполняет запросы (токены, информация о пользователе), вызовы входа в систему, загрузки и выхода из системы. Он обрабатывает запросы HTTPS и файлы cookie и может использоваться для загрузки файлов на Wikimedia Commons.

MATLAB править

Имя Описание
MatWiki Предварительный (по состоянию на февраль 2019 г.) клиент MATLAB R2016b (9.1.x), поддерживающий только логины ботов и семантические запросы #ask.

.NET править

Имя Описание
WikiFunctions Библиотека с классами для редактирования и получения списков страниц через API, используемая AutoWikiBrowser.
LinqToWiki Строго типизированная библиотека для доступа к большей части MediaWiki API с поддержкой автозаполнения.
WikiClientLibrary Клиентская библиотека .NET Standard и асинхронного API MediaWiki для вики-сайтов. Библиотека также поддерживает API для Flow / Wikibase / Wikia.

Дополнительные библиотеки .NET доступны по адресу API:Client_code/All#.NET.

OCaml править

Имя Описание
ocaml-mediawiki Привязка высокого уровня для MediaWiki API, написанная на OCaml.

Perl править

Имя Описание
MediaWiki :: Bot Модуль Perl более высокого уровня с функциями чтения и записи. Легко расширяется с помощью плагинов, например для предоставления функций администратора

исходный код на Github.

MediaWiki :: API Модуль Perl для взаимодействия с MediaWiki API с поддержкой загрузки / выгрузки и редактирования файлов. (пакет Debian).

PHP править

Имя Описание
mediawiki-api-base Библиотека для базового использования MediaWiki api.
mediawiki-api Простая библиотека для взаимодействия с MediaWiki API.
wikibase-api Библиотека для запросов Викиданные.

Дополнительные библиотеки PHP доступны по адресу API:Client_code/All#PHP.

Иногда люди пытаются использовать такие библиотеки для доступа к установке MediaWiki на том же сервере. Часто в этом нет необходимости, потому что сама MediaWiki написана на PHP, особенно когда единственная цель скрипта - взаимодействие с MediaWiki.

Python править

Имя Описание
Pywikibot Коллекция скриптов Python и мощная библиотека для написания ботов. ( Git repository) ([irc: // freenode / pywikipediabot IRC])
mwclient Библиотека Python, которая делает доступным большинство функций API. (PyPI)
вики-скрипты Фреймворк для написания ботов, сценариев обслуживания или выполнения анализа данных.

Простые оболочки Python для интерфейсов без абстракции с MediaWiki API и базовой обработки сеанса:

Имя Описание
pywikiapi Минималистичная библиотека, которая обрабатывает некоторые основные сложности API MediaWiki, такие как обработка продолжений, входа в систему, ошибок и предупреждений, но не накладывает никаких дополнительных уровней абстракции.
Wikipedia Библиотека Python, которая упрощает доступ к данным из Википедии и их анализ.
wikitools Предоставляет несколько уровней абстракции вокруг API. Не поддерживает Python 3.

Дополнительные библиотеки Python доступны по адресу API:Client_code/All#Python.

R править

Имя Описание
WikipediR Оболочка для MediaWiki API, предназначенная, в частности, для «производственных» вики-сайтов Викимедиа, таких как Википедия. Может использоваться для получения текста страницы, информации о пользователях или истории страниц, а также элементов дерева категорий.

Ruby править

Имя Описание
MediaWiki :: Butt Стабильный и мощный фреймворк Ruby для API.
wikipedia-client Ruby framework с использованием API.
MediaWiki Ruby API Клиентская библиотека Ruby API находится в активной разработке Инженерной группой Фонда Викимедиа.

Дополнительные библиотеки Ruby доступны по адресу API:Client_code/All#Ruby.

Rust править

Имя Описание
Wikibase RS Библиотека Rust для взаимодействия с Wikibase API и сериализации данных в структуры данных Rust.
mediawiki_rust Клиентская библиотека MediaWiki на Rust.

Дополнительные библиотеки Rust доступны по адресу API:Client_code/All#Rust.

Scala править

Имя Описание
scalawiki Клиент MediaWiki на Scala.
инфраструктура извлечения dbpedia Инфраструктура извлечения данных для DBpedia с поддержкой источника Wiki, полученного через MediaWiki API.
scmw Простая оболочка API MediaWiki для нужд Commonist инструмента загрузки изображений.

См. также править

FAQ по написанию ботов
Википедия:Рекомендации юному ботоводу

Ссылки править

Англоязычные: