Использование бота pywikipedia
Перевод статьи с меты.
The Python Wikipediabot Framework (pywikipedia) — это набор скриптов для автоматизации работы в Википедии и на других викисайтах. Эта страница содержит общую информацию для людей, которые хотят пользоваться ботом pywikipedia.
Содержание |
[править] Установка
PyWikipediaBot написан на языке Python и для работы требует наличия интерпретатора Pythonа. Необходимо установить на компьютер Python не ниже версии 2.4. Хотя некоторые скрипты могут работать с Python v.2.3. Поддержка более старых версий не планируется.
ActivePython — расширенный дистрибутив интерпретатора Pythonа.
ActivePython может работать на любой платформе (Unix, Linux, Mac, Windows).
- Для windows: чтобы скачать ActivePython, нажмите здесь.
- В Unix: обычно Python идет в поставке Unixов и его не надо скачивать (но возможно надо обновить, если у Вас старая версия).
- В Mac: Python включен в состав Mac OS X.
[править] Загрузить
Простейший способ скачать PyWikipediaBot — скачать последний ночной релиз на этом сайте. Предыдущие версии можно найти на Sourceforge. Все, что Вам нужно сделать — это скачать PyWikipedia на Ваш компьютер и распаковать файл, и ничего более.
На Mac следуйте этой инструкции. Файлы pywikipedia можно найти здесь.[1]
[править] Загрузить с SVN
Можно использовать SVN (subversion.tigris.org) для получения обновленной версии PyWikipediaBot. Если Вы пользуетесь Windows рекомендуется TortoiseSVN. На Mac можете следовать этой инструкции.
Чтобы проверить исходный код с помощью командной строки SVN клиента используйте эту команду:
-
$ svn checkout http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ pywikipedia
Или, без файлов проверки орфографии (экономит время), добавьте --ignore-externals
:
-
$ svn checkout --ignore-externals http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ pywikipedia
Любая из этих команд поместит исходный код в новый подкаталог внутри Вашего текущего рабочего каталога pywikipedia
(последний аргумент используется в качестве каталога назначения).
Для утилит, которые не используют командную строку, единственная информация, которая нужна — адрес репозитория: http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/
[править] Настройка
Нет необходимости "инсталлировать" этот пакет, чтобы начать им пользоваться. Можно просто запустить его из подкаталога, в который Вы его распаковали, или в котором хранятся Ваши SVN-копии.
Перед запуском любой программы необходимо создать файл с именем user-config.py в вашем pywikipedia подкаталоге. Его можно создать вручную (это необходимо по-крайней мере для двух или трех переменных конфигурации) или запустить скрипт generate_user_files.py напечатав python generate_user_files.py в командной строке и нажав ↵ Enter. Это поможет завершить этот процесс.
Имейте в виду, PyWikipediaBot предполагает использование Вашего аккаунта по умолчанию (Monobook skin); не надо менять это в MediaWiki настройках аккаунта, если Вы хотите, чтобы бот работал должным образом.
[править] Конфигурирование для Википедии
Откройте текстовый редактор (например Notepad для Windows) и сохраните текстовый файл как user-config.py
в подкаталоге pywikipedia.
Добавьте в user-config.py
следующие две необходимые строчки:
Код | Пояснение |
mylang = 'xx' |
xx - это код языка, на котором Вы работаете: "en" для английского, "ru" для русского.[2] |
usernames['wikipedia']['en'] = u'ExampleBot' |
Ваш файл В данном примере пользователь работает в английской Википедии и использует аккаунт бота "ExampleBot". |
(Optional) usernames['wikipedia']['de'] = u'BeispielBot' usernames['wikipedia']['en'] = u'ExampleBot' usernames['wiktionary']['de'] = u'BeispielBot' |
(Опционально) Если Вы работаете более чем в одном википроекте, Вы можете добавить другие учетные записи. |
(Optional) console_encoding = 'utf-8' textfile_encoding = 'unicode_escape' |
(Опционально) Это кодировка в Вашей системе. Можно попробовать без первого. |
Теперь еще раз сохраните user-config.py
.
[править] Конфигурирование для других Викимедиа-проектов
Добавьте следующие три строчки в user-config.py
:
Code | Explanation |
mylang = 'xx' |
xx - это код языка, на котором Вы работаете: "en" для английского, "ru" для русского.[2] |
family = 'sitename' |
"Sitename" - это наименование сайта на котором Вы работаете. В настоящее время это может быть Викисловарь, Викиучебник, Викицитатник, а также некоторые не-Wikimedia проекты типа Википутешествий (полный список можно найти в подкаталоге pywikipedia/families). |
usernames['memoryalpha']['en'] = u'ExampleBot' |
Ваш файл В данном примере пользователь работает в английской Memory Alpha и использует аккаунт бота "ExampleBot". |
(For Wikimedia Commons only) mylang = 'commons' family = 'commons' usernames['commons']['commons'] = 'UserBot' |
(Только для Wikimedia Commons) Если Вы работаете с Викискладом, укажите |
Теперь еще раз сохраните user-config.py.
Если Вашей вики нет в списке в подкаталоге families, создайте собственный файл families .py (см. Использование бота pywikipedia в не-wikimedia проектах).
[править] Конфигурирование для не-wikimedia проектов
См. статью Pywikipedia bot on non-wikimedia projects с инструкциями как настроить бота для работы со своим собственным mediawiki-проектом.
[править] Применение
[править] Выбор и запуск скрипта бота
Теперь Вы готовы к реальному использованию Вашего бота. Вам необходимо получить доступ к интерфейсу командной строки Вашей ОС.
В Windows это делается открытием стартового меню "Пуск" и выбором пункта "Выполнить". На вопрос об имени выполняемой программы наберите "cmd.exe".
- Смените рабочий каталог на C: напечатав chdir C:\
- Наберите chdir \"имя подкаталога с ботом pywikipedia" (Например: chdir \"pywikipedia" , если этот каталог находится на диске C: )
В Mac: найдите Terminal.app в /Applications/Utilities.
В Linux либо другом Unixе: используйте любой терминал (gnome-terminal, konsole, xterm) или просто текстовый режим консоли.
Запустите скрипт login.py напечатав "python login.py" (или просто "login.py").
Python вернет сообщение:
Checked for running processes. 1 processes currently running, including the current process. Password for user your_bot on your_site:en:
Введите пароль, который Вы используете для логина Вашего бота. Бот не может работать анонимно. Пока Вы не измените пароль к боту, Вам надо запустить эту программу только один раз. Бот, как правило, не разлогинивается.
Боты, в основном, находятся в подкаталоге pywikipedia. Но при необходимости используйте команду cd для перехода в подкаталог с файлами бота.
Теперь запустите любой из ботов, набрав "python botname.py" (если Вы используете Windows, Вы может пропустить слово "python").
[править] Скрипты
Список существующих ботов со ссылками на их описание:
Основные скрипты | Другие скрипты | ||||
---|---|---|---|---|---|
|
|
| |||
Вспомогательные программы
|
|
[править] Аргументы командной строки
Хотя большинство бото-скриптов имеет свои собственные аргументы командной строки, которые должны быть задокументированы на их соответствующих страницах (или в их исходниках), все боты, если прямо не указано обратное, распознают следующие аргументы командной строки:
Глобальные аргументы, доступные для всех ботов
arg | Описание | Значение по умолчанию |
---|---|---|
-help | Вывести список глобальных аргументов бота (этот список), затем спецификацию конкретного бота, если это возможно. | отсутствуют |
-family:xyz | Установить family вики, в которой работает бот, например wikipedia, wiktionary, commons, wikitravel, …. Это изменяет настройку в user-config.py. | параметр user-config.py: family
|
-lang:zxx | Установить язык вики, в которой работает бот, изменяя настройку в user-config.py, где zxx should является кодом языка, за исключением использования -lang:commons для commons. | параметр user-config.py: mylang
|
-log | Включить запись лога. Логи будут записаны в поддиректорию /logs. | параметр user-config.py: log ?
|
-log:xyz | Включить запись лога, использовать xyz как имя файла. | |
-nolog | Отключить запись лога (если она включена по умолчанию). | |
-putthrottle:nn | Установить минимальное время (в секундах), которое будет ждать бот между сохранением страниц. | параметр user-config.py: putthrottle ?
|
-verbose -v |
Сделать более детальные сообщения в программном выводе, чем в стандартном выводе о текущей работе, или происходящем процессе. Это может быть полезно для отладки или при нестандартных ситуациях. | не выбрано |
Например, python scriptname.py -family:wiktionary
вызовет "scriptname"-бота для статей Викисловаря, переопределив дефолтные настройки параметра family Вашей конфигурации.
[править] Примечания
- ↑ «Check out» это процесс получения копии для работы из репозитория
- ↑ 2,0 2,1 Если Вы хотите работать более чем с одним языком, выберите наиболее употребляемый, который можно переопределить в командной строке командой -lang parameter.
- ↑ 'u' перед именем пользователя означает Unicode. 'u' важно, если имя пользователя содержит не-ASCII символы.
[править] Ссылки
Использование бота pywikipedia относится к теме «Техники и викиботы» |