Бот для редактирования Википедии, которым управляет ThaddeusB
Обновление (23.12.14) — я работаю над тем, чтобы снова запустить BOT. Похоже, в настоящее время есть некоторые технические проблемы с WebCite (запросы выдают сообщения об истечении времени ожидания, но на самом деле выполняются). Я работаю над обходным решением для своего кода. -- ThaddeusB ( обсуждение ) 18:58, 23 декабря 2014 (UTC)
Цель WebCiteBOT — бороться с гнилью ссылок , автоматически цитируя вновь добавленные URL. Он написан на Perl и работает автоматически, требуя лишь периодического контроля.
Полный журнал активности бота, организованный по дате, можно найти в User:WebCiteBOT/Logs/ . Некоторые интересные статистические данные, связанные с его работой, можно найти в User:WebCiteBOT/Stats .
Операция: WebCiteBOT отслеживает канал добавления URL на канале IRC #wikipedia-en-spam и отмечает время каждого добавления, но не предпринимает немедленных действий. По истечении 48 часов (или более) он возвращается и проверяет статью, чтобы убедиться, что новая ссылка все еще на месте и используется ли она в качестве ссылки (т. е. не как внешняя ссылка). Эти меры предосторожности помогают предотвратить архивацию спама/ненужных URL.
Статьи, помеченные/номинированные на удаление, пропускаются до тех пор, пока проблема не будет решена.
Для каждой найденной допустимой ссылки WebCiteBOT сначала проверяет свою базу данных, чтобы узнать, был ли сделан недавний архив. Если нет, он проверяет функциональность ссылки. Допустимые ссылки отправляются на архивацию на WebCitation.org, а мертвые ссылки помечаются тегом {{ dead link }} . После того, как попытка архивации завершилась, бот проверяет статус архива и обновляет соответствующую страницу Википедии, если архивация была завершена успешно. Он также попытается добавить заголовок, автора и другие метаданные , которые не были предоставлены человеком, добавившим ссылку.
Функции, которые еще не реализованы:
- Возможность архивации всех ссылок на определенной странице по запросу
- Создайте базу данных «проблемных» сайтов, чтобы сэкономить время
Пометить недействительные ссылки тегом {{ dead link }} (Реализовано 6 июня 2009 г.)- Более надежный сбор метаданных; создание базы данных метаданных, предоставленных человеком, для помощи боту в определении определенных элементов ( обновление: теперь бот собирает введенные человеком данные для каждой загружаемой страницы, чтобы создать эту базу данных)
- Попытка найти архив старых ссылок при обновлении страницы ( возможно )
Известные проблемы/ограничения:
- Некоторые добавления ссылок не попадают в #wikipedia-en-spam (вероятно, потому что бот-сообщитель не успевает проверить все правки) и, следовательно, не отслеживаются WebCiteBOT.
- Бот, сообщающий о ссылках, «раскодирует» символы, закодированные в URL (например, «%80%99»), из-за чего мой бот не сможет найти ссылку в викитексте и сообщит о ней как об «удаленной». (26 февраля 2012 г. в код был добавлен обходной путь, чтобы «спасти» некоторые из них.)
- WebCiteBOT не может отличить действительно новые добавления от добавлений, вызванных откатами и т. п. Таким образом, иногда «новая» ссылка на самом деле довольно старая, и архивная версия может не соответствовать версии, которую видел исходный редактор.
- WebCitation.org не архивирует некоторые страницы из-за ограничений роботов . Небольшое количество дополнительных страниц архивируется неправильно. (WebCiteBOT обычно их перехватывает и не ссылается на них.)
- WebCiteBOT не следует перенаправлениям. Это означает, что если страница перемещена после добавления ссылки, но до того, как бот ее проверит, она будет сообщена как "(ссылка) была удалена". Мне не ясно, будет ли следование перенаправлениям желательным поведением или нет.
Не стесняйтесь вносить предложения по улучшению бота.
Часто задаваемые вопросы
В. Я только что добавил новый URL-адрес на [[какую-то страницу]]. Что мне теперь делать?
- A. Вам не нужно ничего делать. Бот постоянно отслеживает канал IRC, который сообщает о большинстве добавлений ссылок. Он сохраняет все ссылки, о которых там сообщается, и архивирует их через 2-3 дня. В настоящее время разрабатывается функция, которая позволит архивировать по запросу очень срочные ссылки, но пока он полностью полагается на канал IRC.
В. Почему [http://somepage.com/somefile.htm] не был заархивирован?
- A. Наиболее распространенная причина заключается в том, что на рассматриваемом веб-сайте установлено ограничение для роботов , которое просит роботов не кэшировать свой контент. Однако существует и ряд других возможностей. (См. раздел известных ограничений выше.)
В. Почему в журнале присутствуют искаженные символы UTF8 ?
- A. К сожалению, IRC-канал, на который полагается бот, иногда путает двухбайтовые символы. WebCiteBOT был запрограммирован на попытку альтернативного заголовка, где «испорченные» символы исправляются на основе общих шаблонов, если первый заголовок, который он пробует, не существует. Он может сделать это только после первой проверки заголовка в том виде, в котором он предоставлен, поскольку иногда заголовки, которые выглядят испорченными, на самом деле таковыми не являются. Журнал всегда отражает первый опробованный заголовок, но фактическая работа бота использует исправленный заголовок, когда он может его вычислить.
Признание