Википедия:Рекомендации юному ботоводу
Когда нужен бот?Бот нужен для массовых работ, когда очень нудно повторять одно и то же действие много раз. Пусть машина делает «грязную» работу, а человек может мыслить над новой статьёй. Ниже приведено несколько примеров. Переименование категорийДля переименования категорий есть специальный модуль pywikipediabot’а. python category.py move -from:"старое название категории" -to:"новое название категории" Этой командой создаётся новая категория (если её ещё нет) как точная копия старой, во всех статьях, включённых в категорию, меняется название категории и в конце отмечается теперь уже пустая старая категория к удалению. Переименование категорий с помощью бота гораздо предпочтительнее переименования вручную, так как это не только экономит время (особенно, если в категорию включено много страниц), но и позволяет избежать случайных ошибок, весьма вероятных при ручной обработке. Переименование статейДля переименования статей есть специальный модуль pywikipediabot’а. python movepages.py -from:"старое название статьи" -to:"новое название статьи" Этой командой создаётся новая статья (если её ещё нет) как точная копия старой, а в старой статье остаётся перенаправление на новую. При использовании параметра -del старая статья помечается к удалению или удаляется, если бот имеет флаг администратора. Переименование страниц с помощью бота имеет смысл при большом объёме работ, например при перемещении в другое пространство имён. python movepages.py -prefix:'новое название пр-ва имён' Существенно облегчает работу наличие файла для автоматического переименования. Файл должен быть в формате [[название статьи]] [[новое название]] [[название статьи]] [[новое название]] … python movepages.py -pairs:'название файла'.dat python movepages.py -cat:название_категории -from:'старое название статьи' -to:'новое название статьи' Пример: Условно нужно исправить одинаковую ошибку во всех названиях из категории Категория:Округа Франции, условная ошибка - дополнение к названию (округ), меняем маленькую «о» на заглавную «О». Для этого пишем: movepages.py -always -cat:Округа_Франции -from:'(округ)' -to:'(Округ)'
Исправление ссылок на неоднозначностиЧасто бывает, что статьи ссылаются на страницу разрешения неоднозначности. Это с помощью бота легко исправлять в полуавтоматическом режиме. python solve_disambiguation.py 'название страницы разрешения неоднозначности' Программа создаёт меню из всех ссылок на странице дизамбига и назначает каждой ссылке отдельный номер. Потом бот проходит по всем страницам, которые ссылаются на страницу разрешения неоднозначности, и показывает 30 знаков от текста этой страницы. Остаётся набирать нужный номер, и бот заменяет ссылку на неоднозначность ссылкой, которая соответствует этому номеру. Когда задан параметр -main, то бот обрабатывает только статьи и игнорирует другие пространства имён (как обсуждения, Википедия: и т. д.). См. Список страниц неоднозначностей, отсортированный по количеству включений — обширное поле деятельности для ботовода. Исправление двойных перенаправленийБот с успехом справляется и с этой задачей python redirect.py double Исправление ссылок на многозначные терминыpython disambredir.py G Бот разгребает категорию Многозначные термины, начиная (в данном случае) с буквы G. Можно выбирать из опций ничего не делать, исправлять ссылку, изменять текст ссылки и превращение ссылки в текст. Исправление орфографических, смысловых ошибок и ошибок вики-синтаксисаВозможно и такое! Для этого можно использовать боты replace.py или user-fixes.py. Но для начала проще воспользоваться функцией «Regex typo fixing» в AWB. Выражения для исправления ошибок в этом случае берутся со страницы Википедия:AutoWikiBrowser/Typos
python replace.py -fix:syntax -file:'файл со списком статей'
python replace.py -cat:Напитки "вино" "пиво" "красное" "светлое" Удаление спамаpython spamremove.py spammedsite.com Удаление ссылок на страницуpython unlink.py 'название страницы' -namespace:0 -namespace:6 Удаляет ссылки на страницу [[название страницы]] в статьях и описаниях изображений. Найти пересечения по двум критериямИногда потребуется список статей, которые удовлетворяют выполнению двух критериев, например все города Германии, расположенные на реке Эльба. Для этой задачи можно использовать модуль List comparer программы AutoWikiBrowser. В списке 1 задаётся Category (recursive) «Города Германии», во втором списке Category «Города на Эльбе». Можно использовать фильтр для отсеивания других пространств имён кроме основного. Нажатием на Compare мы получаем список пересечений, который можно сохранить в списке. Особенности кириллицыПри работе с pywikipedia ботом. Для корректной работы с категориями и буквами на кириллице под Windows нужно прописать в файл user-config.py следующие строки:
Список кодов по странам — Википедия:Рекомендации юному ботоводу/Список кодов. Обработка группы статей
С чего начать?Рекомендуется тренироваться с помощью АвтоВикиБраузера. Удобный графический интерфейс позволяет перед каждой правкой посмотреть результат правки. Если обнаруживается ошибка, то можно её исправить перед сохранением. Далее рекомендовано ознакомиться с «регулярными выражениями» (regular expressions). Чем лучше вы разбираетесь в них, тем эффективнее бот может работать. Если не нравится Python…Если язык Python и его программная инфраструктура не вполне удовлетворяют вас, или вы хотели бы ознакомиться с более «промышленными» системами разработки, то для PyWikipediabot есть альтернативы. Большинство из них основано на платформе Microsoft .NET, например, AutoWikiBrowser и DotNetWikiBot. Либо же, вы можете написать свой скрипт с нуля с использованием одной из библиотек API, которые есть для большинства используемых языков программирования. На какие грабли можно наступить?
Пространства имён
Шаблон:NobotsБывают случаи, что обработка страницы ботом нежелательна (например, в некоторых часто употребляемых шаблонах категории и интервики перенесены на подстраницу «Документация»). Хотя об этом может быть написано на странице шаблона в комментариях (<!-- Интервики пожалуйста в документацию!!! -->), боты игнорируют эту просьбу, поскольку нет ботов, которые понимают текст. В таких случаях можно поместить на страницу шаблон {{nobots}}. Также можно запретить правку страницы отдельными ботами. Подробнее см. на странице описания шаблона. Полезные ссылки |
Portal di Ensiklopedia Dunia