Википедија:Pravljenje bota/Pajvikipedija
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Interwiki.png/260px-Interwiki.png)
Preduslovi za korišćenje Pajton Vikipedija (Pajvikipedija) robotskog (bot) naloga su:
- Instalirana posljednja verzija Pajtona (link za preuzimanje).
- pywikipediabot preuzet sa https://tools.wmflabs.org/pywikibot/
Instalacija Pajtona
urediVindouz
uredi- Skinite instalacionu datoteku, pokrenite je tako što ćete dva puta kliknuti na nju
- Kada vam se otvori instalacioni dijalog, obavezno čekirajte Add Python 3.6 to PATH i kliknite Install Now.
Linuks
uredi- Na većini Linuks distribucija je Pajton već instaliran. Ako iz nekog razloga nije, na Debian i Ubuntu GNU/Linuksu koristite:
sudo apt-get install python
. Instalacija će potom biti urađena automatski.
Provjera Pajton instalacije
urediUpišite python na komandnoj liniji i stisnite enter. Ako je sve u redu program počinje u interaktivnom modu. Pritisnite CTRL+Z za izlaz iz Pajtona.
Podešavanje bota i prvo pokretanje
urediSkinite zapakovani bot framework sa http://tools.wmflabs.org/pywikibot/ (core.zip) i raspakujte ga tamo gdje želite da vam bot bude. Sledeći korak je kopiranje fajla cmd.exe u folder bota, na tastaturi pritisnite Win + R i ukucajte system32 tu pronađite cmd.exe i prekopirajte ga u folder bota. Sada pokrenite cmd.exe i ukucajte pwb.py i u idealnoj situaciji proradiće ali ako se pojavi neka greška dalje u tekstu će biti objašnjeno jedno rješenje.
Problem
urediPokretanje PWB nije uspjelo prijavljuje grešku u vezi sa modulom i nudi moguće rješenje pip install requests. Sada pokrenite cmd.exe kao admin i ukucajte sljedeću komandu pip install requests
i pritisnite enter (potrebna vam je internet veza!) malo sačekajte i trebalo bi da vam izbaci da je instalacija par modula uspješno obavljena. Nakon ovoga ukucajte u komandnu liniju python pwb.py i trebalo bi da radi.
Važne napomene
urediTakođe je potrebno da prije pokretanja bota napravite user-config.py (uputstvo niže) i ubacite u folder gdje se nalazi bot jednostavnije je nego da pravite preko komandi. PWB se redovno ažurira i mijenja tako da se nemojte iznenaditi ako vam ovo uputstvo ne pomogne, kada ažurirate bota obavezno bekapujte staru verziju za slučaj da nova verzija da ne bude htjela da radi.
Upotreba
urediNapravite fajl user-config.py
u kojem će pisati:
# -*- coding: utf-8 -*- family = 'wikipedia' mylang = 'sr' usernames['wikipedia']['sr'] ='Ime_vašeg_bota' transliteration_target = console_encoding console_encoding = 'utf-8' put_throttle = 0
Ne treba da postoji razmak na početku redova u fajlu. Obavezno kod čuvanja fajla izaberite enkoding UTF-8.
Mijenjanje teksta u člancima
uredi- Ako želite promijeniti npr. tekst „Category“ u „Kategorija“ u većem broju članaka slijedite ovaj postupak:
- u fajl ulaz.txt, koji ste sami napravili, napišite imena članaka koje treba proći. Imena mogu biti napisana u obliku poveznica [[Име_чланка]] ili samo Име_чланка bez poveznica. Svaki članak treba biti u novom redu tekst fajla (a fajl se treba nalaziti u folderu u kojem se nalazi cijeli program.
Primjer fajla ulaz.txt:
Авион Авијација Авијациона припрема
- iz komandne linije (prompta) upišite sljedeći tekst (prvo uđite u folder gdje se nalazi replace.py):
replace.py -file:ulaz.txt "Category" "Категорија"
- slijedite uputstva (tj. na pitanje „Do you want to accept these changes?“ pritisnite y (latinično ipsilon) i zatim Enter
- program će vam tražiti lozinku za bota čije ste ime upisali u fajl
user-config.py
, upišite je i program će početi izvršavati vaše naredbe.Password for user Име_вашег_бота on your_site:sr:
Šifra ili lozinka može biti i na ćirilici, kao i samo ime bota. Iz bezbjednosnih razloga, lozinka se neće vidjeti na ekranu te pazite da li ste unijeli tačnu lozinku.
Program replace.py će proći kroz sve članke koji su upisani u fajlu, i zamijeniće sve engleske nazive kategorije srpskim. Pitaće vas prije svake zamjene.
Mijenjanje teksta u velikom broju članaka
urediPravljenje duge liste članaka koje treba proći je mukotrpno. Međutim, ova lista već postoji ovdje: Baza podataka za sve viki projekte na svim jezicima. Tu nađite vezu za srwiki, kliknite na nju, a zatim sa nove stranice skinite fajl all-titles-in-ns0.gz. To je Juniks arhiva koja se treba raspakovati. U njoj se nalazi lista svih članaka u tekst fajlu. Raspakovanje vrše programi Winzip, 7-zip i drugi u Vindouzu.
Za vaše potrebe, kopirajte određeni opseg članaka u kojima vršite ispravke u novi tekst fajl (recimo ulaz.txt) i zatim pokrenite program kako je objašnjeno u prethodnoj sekciji.
Druga opcija za mijenjanje članaka je korišćenje dostupnih opcija kao generatore (pogledati spisak ispod).
Problemi sa ćirilicom na Vindouz komandnoj liniji i njihovo otklanjanje
urediU Vindouzu nastaju problemi prilikom prikazivanja Unikod znakova (ćirilice itd.) na komandnoj liniji. Da se zaobiđe taj problem, lista zamjena teksta se može upisati u postojeći fajl user-fixes.py.
Primjer jedne sekcije fajla 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' четири '),
]
}
Kada završite sa uređivanjem željenih zamjena, na komandnoj liniji upišite:
python replace.py -file:ulaz.txt -fix:1
To će izvrišiti ispravke date u fajlu user-fixes.py, tačnije one definisane u odjeljku fixes['1'], na člancima koji su definisani u fajlu ulaz.txt. Ako želite da ispravite greške definisane u fixes['9'], kucajte:
python replace.py -file:ulaz.txt -fix:9
i tako dalje.
Opcije za izbor kroz koje članke će bot prolaziti
uredi-start:Име_чланка
- Bot će redom mijenjati članke počevši od članka čije je ime navedeno (pažnja: ovaj način zahtijeva najviše vremena i resursa, pa ga je poželjno izbjegavati)
-new
- Bot će redom mijenjati sve nove članke (podrazumijevana vrijednost je 500)
-ref:Име_чланка
- Bot će mijenjati sve stranice koji vode članak čije je ime navedeno (u svim imenskim prostorima)
-links:Име_чланка
- Bot će mijenjati sve stranice koji su povezane iz članka čije je ime navedeno (u svim imenskim prostorima)
-cat:Име_категорија
- Bot će mijenjati sve stranice koje se nalaze u navedenoj kategoriji
-subcat:Име_категорије
- Bot će mijenjati sve stranice koje se nalaze u potkategoriji navedene kategorije
-filelinks:Име_слике
- Bot će mijenjati sve stranice u kojima se koristi navedena slika (u svim imenskim prostorima)
-prefixindex:Име
- Bot će mijenjati sve stranice koje počinju datim slovima (u svim imenskim prostorima, mora se navesti i imenski prostor)
-usercontribs:Име_корисника
- Bot će mijenjati stranice koje je mijenjao navedeni korisnik u svim imenskim prostorima
Postavljanje grupe novih članaka na Vikipediju
urediDetaljni primjer je dat na korisničkoj strani za MiroslavĆikaBot.
Najčešći poslovi
urediNajčešći poslovi većine botova su dodavanje među viki veza. Zatim, ispravljanje sitnih grešaka (kao u gore navedenom primjeru), popravke duplih i pokvarenih preusmjerenja itd.