Википедия:Форум ботоводов

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Боты

Вопрос[править | править вики-текст]

Когда открываю категорию, то вижу страницы которые находятся под заглавными символами.(А,Б,В...) Но есть страницы, которые находятся под звездочкой(*), точкой(.) или просто не под буквой, а сразу сверху. Пример на английском: http://en.wikipedia.org/wiki/Category:Countries_in_Europe Как можно с помощью api получить только те страницы, которые находятся под заглавными буквами? 195.10.218.11 10:09, 16 июля 2014 (UTC)

  • Там просто ключ сортировки - звездочка(*), точка(.) или просто пробел. Насчёт апи не в курсе; а Вы с какой целью интересуетесь? --Akim Dubrow 11:01, 16 июля 2014 (UTC)
    • Разбираюсь как применить нужные правки к старницам категории через АПИ, но появляются нецелевые страницы. А какой ключ нужно задать, чтобы страницы не под буквами не выводились? Или как может каким-то другим способом... 195.10.218.11 11:07, 16 июля 2014 (UTC)
      • Я просто не пойму, правки через апи нельзя же анонимно делать? --Akim Dubrow 12:08, 16 июля 2014 (UTC)
    • У categorymembers есть несколько параметров для работы с ключами сортировки, например, cmprop=sortkeyprefix позволяет получить эти ключи. Если ключ начинается с пробела, то эти элементы идут сверху и их можно исключить из списка. Насколько мне известно, фильтрации по читаемому ключу сортировки на уровне api нет, нужно получать все категории. --Lockal 11:46, 17 июля 2014 (UTC)

Пространства для бота[править | править вики-текст]

Удобный инструмент для поиска статей в других разделах без интервик у нас мигрировал на wmflabs. Соответственно, сейчас имеется 672 ссылки на него в различных пространствах (Википедия, Проекты, Участники, Обсуждения...). Вопрос: по каким пространствам можно безнаказанно запускать бота для исправления этой ссылки? Ashik 15:10, 15 июля 2014 (UTC)

  • Кроме «Обсуждение участника», наверное, по всем. --Akim Dubrow 18:55, 15 июля 2014 (UTC)

Вопрос[править | править вики-текст]

Здравствуйте! Я только начал осваивать ботоводство. Для начала хочу выполнить такое пробное задание: Заменить во всех статьях про населённые пункты Нидерландов шаблон:НП на шаблон:НП-Нидерланды. Т. е. как я понимаю, нужно взять список всех включений шаблона НП, выбрать из них те статьи, где в поле страна стоят Нидерланды, и далее во всех этих статьях провести небходимые замены (удалить некоторые поля заменить некоторые поля и т. д.). Кто-то может мне помочь написать скрипт на Pythone или дать уже готовый скрипт, чтобы я в нём разобрался, внёс необходимые изменения и запустил? Буду благодарен за любой ответ! --Glovacki 10:37, 4 июля 2014 (UTC)

  • Или обойти категорию "Населённые пункты Нидерландов" и поправить соответствующие статьи. pywikipedia + несложные замены текста. Для получения помощи, как и везде, я бы советовал описать, что вы делаете, и на каком конкретно шаге возникли затруднения. --- Heimdall ---talk 10:57, 4 июля 2014 (UTC)
    • Пока я только установил pywikipedia и залогинился :) Опыта ботоводства нет, поэтому как писать скрипт не знаю. --Glovacki 11:33, 4 июля 2014 (UTC)
  • А Вы тут и тут смотрели? С уважением, Карибеков В. Ю. -обс- 12:25, 4 июля 2014 (UTC)
    • Спасибо, читаю и пытаюсь разбираться. Я уже понял как дописать что-то в конец или начало статьи:
text = page.get()
newtext = "smth added \n" + text + "\nI want to add it at the bottom"
page.put(newtext, "my comment")

А вот допустим как заменить один рядок на другой? Пока не могу найти как это сделать :( (это я всё движусь к тому как заменить НП на НП-Нидерланды :) ) --Glovacki 12:41, 4 июля 2014 (UTC)

      • Простите, а вы уверены, что вам стоит начинать с википедии? Может поучить python немного. Потренироваться. Хотя бы хабр и т.п. почитать. Еще лучше Лутца какого-нибудь. --- Heimdall ---talk 12:51, 4 июля 2014 (UTC)
        • Спасибо, премного благодарен! Удалось немного разобраться, в итоге написал такой скрипт:
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
# let's declare all global values here
mydir = "./"
pwbdir = mydir + "pywikipedia/"
language = "ru"
family = "wikipedia"
 
# importing modules
import sys
sys.path.append(pwbdir)
import wikipedia
import re
import pywikibot
import catlib
import pagegenerators
#from pywikibot import pagegenerators
 
def doitq (pageq):
    text = pageq.get()
    p = re.compile(u"{{НП[^-]")
    newtext = p.sub(u"{{НП-Нидерланды\n", text)
    p2 = re.compile(u"\| *регион")
    text = p2.sub(u"|провинция", newtext)
    p3 = re.compile(u"\| *регион в таблице")
    newtext = p3.sub(u"|провинция в таблице", text)
    pageq.put(newtext, u"Замена шаблона Ш:НП на Ш:НП-Нидерланды")
    return pageq
 
# doing the job
site = wikipedia.getSite(language,family)
#page = wikipedia.Page(site, u"Участник:GlovackiBot/Hello, world!")
 
cat = catlib.Category(site, u'Категория:Населённые пункты Нидерландов')
gen = pagegenerators.CategorizedPageGenerator(cat)
 
for pag in gen:
    doitq(pag)

Всё работает. Спасибо за помощь! --Glovacki 15:53, 4 июля 2014 (UTC)

загрузка изображений[править | править вики-текст]

Господа, а как загрузить изображение в русскую википедию под кди с помощью API? --- Heimdall ---talk 17:11, 24 июня 2014 (UTC)

  • Кажется у Rubin16 был бот для загрузки, может он знает. Dmitry89 (talk) 18:29, 24 июня 2014 (UTC)
  • можно в pywikibot посмотреть в сторону imagetransfer.py и imagecopy.py rubin16 04:04, 25 июня 2014 (UTC)

Шаблон «Commonscat» в статьях[править | править вики-текст]

Добрый день! Недавно на ВП:ЗКБТ поступил запрос о переносе ссылок на категории на Викискладе в Викиданные. Я, видимо, неправильно понял запрос и решил что после переноса ссылок в Викиданные шаблон {{Commonscat}} можно (и даже нужно) удалять. Однако, после работы бота возникли недовольства и протесты. Я откатил правки бота и тема была закрыта коллегой Michgrig. Вскоре я заметил, что некоторые статьи были вновь откачены к версиям бота (например: 1, 2, 3, 4, 5). Так вот вопрос: как же быть с данным шаблоном? Удалять его при переносе, удалять из шаблона ссылку, как это предложил dima st bk (насколько я понимаю, категория К:Википедия:Ссылка на категорию Викисклада отсутствует в Викиданных для этого и была создана), или же ничего не делать? С уважением, Карибеков В. Ю. -обс- 05:07, 23 июня 2014 (UTC)

Главный принцип работы ботов является: «не навреди». Согласно этому принципу логично было бы удалять не шаблон, а параметр шаблона, поскольку может оказаться так, что это была единственная ссылка на склад в статье. С другой стороны, есть статьи, в которых имеется больше одной ссылки на склад, в таком случае удаление {{Commonscat}} кажется разумным, но это нужно отдельно обсуждать. Откат отмены ботоправок можно объяснить тем, что в списке наблюдения, обычно, правки ботов не отображаются, в отличие от правок живых людей. Ashik 11:59, 3 июля 2014 (UTC)

Оптимизация[править | править вики-текст]

Никто не пытался модифицировать скрипт бота Латитуде что-бы он взял список данных параметров из разных файлов а не из файл скрипта? Если будут 25-30 параметров по 200-300 строк данных на каждом то получится огромный файл с котором трудно работать. --XXN 00:32, 22 июня 2014 (UTC)

Вы вообще о чем? --Michgrig (talk to me) 17:04, 22 июня 2014 (UTC)
Участник:Latitude/Программа по созданию ботостатей rubin16 17:15, 22 июня 2014 (UTC)

[коментарий против авто-архивировании раздела]--11:42, 17 июля 2014 (UTC)

Ссылки на категории на Викискладе[править | править вики-текст]

На ВП:ЗКБТ столкнулся с такой проблемой: что делать со статьями (например, 1, 2, 3 и др.), для которых не существует категории на Викискладе, но при этом имеется ссылка на несуществующую категорию? Удалять из этих статей такие ссылки или может как-то помечать (категорию, например, создать)? С уважением, Карибеков В. Ю. -обс- 16:08, 20 июня 2014 (UTC)

  • В данном конкретном случае эти категории надо просто удалить. Во-первых, на викискладе редко используют русскоязычные категории - кириллица для большинства пользователей викисклада малопонятна. Во-вторых, нет и изображений, которые могли бы наполнить эти категории. С уважением,--Draa kul talk 18:08, 21 июня 2014 (UTC)
  • Putnik составил тут таблицу статей с нерабочей ссылкой на викисклад. Во-первых, из нее следует, что часть ссылок в статьях идет с префиксом "Category:", что нужно исправлять. Во-вторых, есть категории (например), которые были переименованы с подавлением перенаправления. Если статья не подпадает ни под один из этих случаев, то, имхо, ссылку можно удалять. Ashik 12:07, 3 июля 2014 (UTC)