Использование бота pywikipedia

Материал из Викиреальностя
(перенаправлено с «Test.py»)
Перейти к: навигация, поиск

Перевод статьи с меты.

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 клиента используйте эту команду:

Любая из этих команд поместит исходный код в новый подкаталог внутри Вашего текущего рабочего каталога 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'

[3]

Ваш файл user-config.py должен указывать имя бота.

В данном примере пользователь работает в английской Википедии и использует аккаунт бота "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'

Ваш файл user-config.py должен указывать имя бота.

В данном примере пользователь работает в английской Memory Alpha и использует аккаунт бота "ExampleBot".

(For Wikimedia Commons only)

 mylang = 'commons'
 family = 'commons'
 usernames['commons']['commons'] = 'UserBot'

(Только для Wikimedia Commons)

Если Вы работаете с Викискладом, укажите commons и для языка, и для family.

Теперь еще раз сохраните 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").

[править] Скрипты

Список существующих ботов со ссылками на их описание:

  Основные скрипты   Другие скрипты  



  • category.py Скрипт для управления категориями
  • imagetransfer.py Копирование изображений в другие вики
  • interwiki.py Создание интервикиссылок между проектами
  • redirect.py Исправление двойных и удаление разорванных перенаправлений
  • replace.py Замена текста
  • solve_disambiguation.py Исправление страниц неоднозначностей
  • table2wiki.py Преобразование HTML-таблиц в язык MediaWiki
  • template.py Замена шаблонов
  • upload.py Загрузка изображений в вики
  • weblinkchecker.py Поиск разорванных внешних ссылок
  • wikipedia.py

Вспомогательные программы

  • login.py Основная программа Python
  • catall.py Добавление или изменение категорий
  • copyright.py Проверка нарушений авторского права в поисковых машинах
  • delete.py Массовое удаление страниц
  • delinker.py Автоматическое удаление ссылок и замена изображений
  • imageharvest.py Копирование множества изображений в вики
  • movepages.py Переименование страниц
  • pagefromfile.py Создание страниц из текстового файла
  • protect.py
  • standardize_interwiki.py Перемещение интервикиссылок
  • standardize_notes.py Улучшение примечаний и цитат
  • test.py Выводит залогиненный аккаунт и family вики.
  • touch.py
  • touchall.py
  • warnfile.py
  • welcome.py Приветствие новых участников.
  • version.py Выводит номер версии Pywikipedia и т.д.

[править] Аргументы командной строки

Хотя большинство бото-скриптов имеет свои собственные аргументы командной строки, которые должны быть задокументированы на их соответствующих страницах (или в их исходниках), все боты, если прямо не указано обратное, распознают следующие аргументы командной строки:

Глобальные аргументы, доступные для всех ботов

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 Вашей конфигурации.

[править] Примечания

  1. «Check out» это процесс получения копии для работы из репозитория
  2. 2,0 2,1 Если Вы хотите работать более чем с одним языком, выберите наиболее употребляемый, который можно переопределить в командной строке командой -lang parameter.
  3. 'u' перед именем пользователя означает Unicode. 'u' важно, если имя пользователя содержит не-ASCII символы.

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

Использование бота pywikipedia относится к теме «Техники и викиботы»   ±