Википедија:Прављење бота/Пајвикипедија
Предуслови за коришћење Пајтон Википедија (Пајвикипедија) роботског (бот) налога су:
- Инсталирана посљедња верзија Пајтона (линк за преузимање).
- pywikipediabot преузет са https://tools.wmflabs.org/pywikibot/
Инсталација Пајтона
[уреди | уреди извор]Виндоуз
[уреди | уреди извор]- Скините инсталациону датотеку, покрените је тако што ћете два пута кликнути на њу
- Када вам се отвори инсталациони дијалог, обавезно чекирајте Add Python 3.6 to PATH и кликните Install Now.
Линукс
[уреди | уреди извор]- На већини Линукс дистрибуција је Пајтон већ инсталиран. Ако из неког разлога није, на Дебиан и Убунту ГНУ/Линуксу користите:
sudo apt-get install python
. Инсталација ће потом бити урађена аутоматски.
Провјера Пајтон инсталације
[уреди | уреди извор]Упишите python на командној линији и стисните ентер. Ако је све у реду програм почиње у интерактивном моду. Притисните CTRL+Z за излаз из Пајтона.
Подешавање бота и прво покретање
[уреди | уреди извор]Скините запаковани бот framework са http://tools.wmflabs.org/pywikibot/ (core.zip) и распакујте га тамо гдје желите да вам бот буде. Следећи корак је копирање фајла cmd.exe у фолдер бота, на тастатури притисните Win + R и укуцајте system32 ту пронађите cmd.exe и прекопирајте га у фолдер бота. Сада покрените cmd.exe и укуцајте pwb.py и у идеалној ситуацији прорадиће али ако се појави нека грешка даље у тексту ће бити објашњено једно рјешење.
Проблем
[уреди | уреди извор]Покретање PWB није успјело пријављује грешку у вези са модулом и нуди могуће рјешење pip install requests. Сада покрените cmd.exe као админ и укуцајте сљедећу команду pip install requests
и притисните ентер (потребна вам је интернет веза!) мало сачекајте и требало би да вам избаци да је инсталација пар модула успјешно обављена. Након овога укуцајте у командну линију python pwb.py и требало би да ради.
Важне напомене
[уреди | уреди извор]Такође је потребно да прије покретања бота направите user-config.py (упутство ниже) и убаците у фолдер гдје се налази бот једноставније је него да правите преко команди. PWB се редовно ажурира и мијења тако да се немојте изненадити ако вам ово упутство не помогне, када ажурирате бота обавезно бекапујте стару верзију за случај да нова верзија да не буде хтјела да ради.
Употреба
[уреди | уреди извор]Направите фајл user-config.py
у којем ће писати:
# -*- coding: utf-8 -*- family = 'wikipedia' mylang = 'sr' usernames['wikipedia']['sr'] ='Име_вашег_бота' transliteration_target = console_encoding console_encoding = 'utf-8' put_throttle = 0
Не треба да постоји размак на почетку редова у фајлу. Обавезно код чувања фајла изаберите енкодинг UTF-8.
Мијењање текста у чланцима
[уреди | уреди извор]- Ако желите промијенити нпр. текст „Category“ у „Категорија“ у већем броју чланака слиједите овај поступак:
- у фајл ulaz.txt, који сте сами направили, напишите имена чланака које треба проћи. Имена могу бити написана у облику повезница [[Име_чланка]] или само Име_чланка без повезница. Сваки чланак треба бити у новом реду текст фајла (а фајл се треба налазити у фолдеру у којем се налази цијели програм.
Примјер фајла ulaz.txt:
Авион Авијација Авијациона припрема
- из командне линије (prompta) упишите сљедећи текст (прво уђите у фолдер гдје се налази replace.py):
replace.py -file:ulaz.txt "Category" "Категорија"
- слиједите упутства (тј. на питање „Do you want to accept these changes?“ притисните y (латинично ипсилон) и затим Ентер
- програм ће вам тражити лозинку за бота чије сте име уписали у фајл
user-config.py
, упишите је и програм ће почети извршавати ваше наредбе.Password for user Име_вашег_бота on your_site:sr:
Шифра или лозинка може бити и на ћирилици, као и само име бота. Из безбједносних разлога, лозинка се неће видјети на екрану те пазите да ли сте унијели тачну лозинку.
Програм replace.py ће проћи кроз све чланке који су уписани у фајлу, и замијениће све енглеске називе категорије српским. Питаће вас прије сваке замјене.
Мијењање текста у великом броју чланака
[уреди | уреди извор]Прављење дуге листе чланака које треба проћи је мукотрпно. Међутим, ова листа већ постоји овдје: База података за све вики пројекте на свим језицима. Ту нађите везу за srwiki, кликните на њу, а затим са нове странице скините фајл all-titles-in-ns0.gz. То је Јуникс архива која се треба распаковати. У њој се налази листа свих чланака у текст фајлу. Распаковање врше програми Winzip, 7-zip и други у Виндоузу.
За ваше потребе, копирајте одређени опсег чланака у којима вршите исправке у нови текст фајл (рецимо ulaz.txt) и затим покрените програм како је објашњено у претходној секцији.
Друга опција за мијењање чланака је коришћење доступних опција као генераторе (погледати списак испод).
Проблеми са ћирилицом на Виндоуз командној линији и њихово отклањање
[уреди | уреди извор]У Виндоузу настају проблеми приликом приказивања Уникод знакова (ћирилице итд.) на командној линији. Да се заобиђе тај проблем, листа замјена текста се може уписати у постојећи фајл user-fixes.py.
Примјер једне секције фајла user-fixes.py:
# -*- coding: utf-8 -*-
# Примјер рада: python replace.py -file:ulaz.txt -fix:1
#
# Мијења ријечи у правилне облике.
#
# Исправке Ц у Ћ, Ч у Ћ, Ц у Ч, Ћ у Ч.
fixes['1'] = {
'regex': False,
'msg': {
'sr':u'Исправке Ц у Ћ, Ч у Ћ, Ц у Ч, Ћ у Ч.',
},
'replacements': [
(u' активношцу ', u' активношћу '),
(u' алудирајуци ', u' алудирајући '),
(u' Анализирајуци ', u' Анализирајући '),
(u' Андрица ', u' Андрића '),
(u' бежеци ', u' бежећи '),
(u' бица ', u' бића '),
]
}
# Исправке неких честих грешака.
fixes['9'] = {
'regex': False,
'msg': {
'sr':u'Исправке неких честих грешака',
},
'replacements': [
(u' четри ', u' четири '),
]
}
Када завршите са уређивањем жељених замјена, на командној линији упишите:
python replace.py -file:ulaz.txt -fix:1
То ће извришити исправке дате у фајлу user-fixes.py, тачније оне дефинисане у одјељку fixes['1'], на чланцима који су дефинисани у фајлу ulaz.txt. Ако желите да исправите грешке дефинисане у fixes['9'], куцајте:
python replace.py -file:ulaz.txt -fix:9
и тако даље.
Опције за избор кроз које чланке ће бот пролазити
[уреди | уреди извор]-start:Име_чланка
- Бот ће редом мијењати чланке почевши од чланка чије је име наведено (пажња: овај начин захтијева највише времена и ресурса, па га је пожељно избјегавати)
-new
- Бот ће редом мијењати све нове чланке (подразумијевана вриједност је 500)
-ref:Име_чланка
- Бот ће мијењати све странице који воде чланак чије је име наведено (у свим именским просторима)
-links:Име_чланка
- Бот ће мијењати све странице који су повезане из чланка чије је име наведено (у свим именским просторима)
-cat:Име_категорија
- Бот ће мијењати све странице које се налазе у наведеној категорији
-subcat:Име_категорије
- Бот ће мијењати све странице које се налазе у поткатегорији наведене категорије
-filelinks:Име_слике
- Бот ће мијењати све странице у којима се користи наведена слика (у свим именским просторима)
-prefixindex:Име
- Бот ће мијењати све странице које почињу датим словима (у свим именским просторима, мора се навести и именски простор)
-usercontribs:Име_корисника
- Бот ће мијењати странице које је мијењао наведени корисник у свим именским просторима
Постављање групе нових чланака на Википедију
[уреди | уреди извор]Детаљни примјер је дат на корисничкој страни за МирославЋикаБот.
Најчешћи послови
[уреди | уреди извор]Најчешћи послови већине ботова су додавање међу вики веза. Затим, исправљање ситних грешака (као у горе наведеном примјеру), поправке дуплих и покварених преусмјерења итд.