Wikipédia:Pywikipedia

A Wikipédiából, a szabad enciklopédiából.

Más nyelveken: de - en - fr - hu - it - ja - ko - nl - pl - pt - sv - zh-hant


A Python Wikipedia Robot Framework (röviden pywikipediabot vagy pywikipedia) olyan botszkriptek gyűjteménye, amelyekkel különböző feladatokat lehet elvégezni a Wikipédián, és más MediaWiki-alapú wikiken. A Pywikipediát Python nyelven írták, számos személy közreműködésével. Ezen a lapon a botot futtatni szándékozó szerkesztők találhatnak fontos információkat.

Tartalomjegyzék

[szerkesztés] A bot beindítása

[szerkesztés] Letöltés

A bot használatához a bot szoftverére és a Python 2.3-as (egyes modulokhoz 2.4-es) vagy újabb verziójára lesz szükséged. (A 3.0 nem kompatibilis a 2.x-es verziókkal!)

A Python néhány Unix-disztribúción alapértelmezettként jelen van, ez esetben csak akkor kell frissítened, ha túl régi verzióval rendelkezel. Minden más esetben a http://www.python.org/download/ címről töltheted le. A Python minden ismertebb operációs rendszeren képes futni (pl. Unix, Linux, Mac, Windows).

A bot szoftverének legfrissebb változata SVN-en keresztül érhető el a http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ URL-ről. Unix-os operációs rendszerek alapból tartalmaznak SVN klienst, itt elég kiadnod az svn co http://svn.wikimedia.org/svnroot/pywikipedia/trunk/pywikipedia/ . parancsot abban a könyvtárban, ahová a szoftvert telepíteni szeretnéd, Windows alatt a TortoiseSVN telepítése után hívd elő a célkönyvtár kontextusfüggő menüjét (például a jobb egérgombbal vagy a jobboldali Ctrl billentyű melletti Windows-gombbal), válaszd ki az SVN Checkout...' menüpontot, és az URL of repository mezőbe írd be fenti URL-t.

[szerkesztés] Beállítás

A bot csak a „Monobook” skint támogatja.

[szerkesztés] Beállítás a Wikipédiához

Nyiss meg egy UTF-8-kompatibilis szövegszerkesztő programot (pl. Notepad++), és írd be ezt a pár sort:

# -*- coding: utf-8 -*-
use_api = True
family = 'wikipedia'
mylang = 'hu'
usernames['wikipedia']['hu'] = u'Bot neve'

ahol Bot neve az a felhasználónév, ami alatt a bot szerkesztései megjelennek majd a Wikipédián (ne felejtsd le az első aposztróf elől az u betűt!). Ha több wikin is használni akarod a botot, az utolsó sorhoz hasonló alakban add meg az ottani felhasználóneveidet is, pl:

usernames['wikipedia']['hu'] = u'Botorkáló'
usernames['wikipedia']['en'] = u'Botológus'
usernames['wiktionary']['de'] = u'Botladozó'

Ilyenkor a 2. és 3. sor átírásával befolyásolhatod, hogy éppen melyik wikin fog futni a bot (vagy felülírhatod az itteni beállításokat parancssori paraméterekkel is).

Mentsd el a szövegfájlt user-config.py néven, ugyanabba a mappába, ahol a többi letöltött .py kiterjesztésű fájl található. Ügyelj rá, hogy UTF-8 módban mentsd el (Notepad++ esetén mentés előtt használd a menü Format/Convert to UTF-8 without BOM parancsát)! Ha nem tudsz vagy akarsz UTF-8-at használni, módosítsd az első sorban a kódolást megfelelően. (Magyar Windows alatt cp1250 a legesélyesebb.)

Ha a bot üzenetei nem jelennek meg rendesen a képernyőn, hanem az ékezetek helyén csak krixkraxokat látsz, írd az alábbi sort is a user-config.py-ba (ha így sem működik, próbálkozz cp1250 helyett mással, pl. utf8 vagy iso-8859-2):

console_encoding = 'cp1250'

Ha egy wikin adminisztrátor vagy, és szeretnéd, hogy a bot az adminjoggal bíró aznosítódat használja, amikor szüksége van rá (például egy védett lapot kell szerkesztenie), akkor add meg azt a felhasználónevedet is ilyenformán:

sysopnames['wikipedia']['hu'] = u'Admin neve'

(Ebben a példában BinBot a category.py használata közben Bináris nevében törölte a kiürített kategóriát. A szerkesztés tehát ilyenkor az adminisztrátor neve alatt jelenik meg.)

Ha saját scripteket is akarsz írni, és nem a bot főkönyvtárában tartanád őket, hozzá kell adnod a bot könyvtárát a python modulok betöltési útjához. Windows alatt ezt úgy érheted el, hogy a HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\<verziószám>\PythonPath registry kulcs alá létrehozol egy új kulcsot pywikipedia néven, és értékül a pywikipediabot könyvtárát adod neki. Linux alatt egyszerűen csak be kell állítani a PYTHONPATH környezeti változót (pl. az export PYTHONPATH=<pywikipedia elérési út> paranccsal).

[szerkesztés] Engedély kérése

Searchtool right.svg Bővebben: Wikipédia:Botok

A bot számára érdemes készíteni egy normál felhasználói nevet. Legjobb, ha olyat választasz, amely utal arra, hogy a felhasználó egy bot, és arra is, hogy te üzemelteted. Általában a saját felhasználói név és a 'Bot' szó összevonásából készítik, de ez nincs megkötve.

Ha gyakran futtatsz egy botot, érdemes botstátuszt kérni a Wikipédia:Botok/Jelentkezés oldalon néhány próbaszerkesztés után. Ekkor egy bürokrata elbírálja a kérelmedet, és ha nincsenek a botnak hibás szerkesztései és jogosnak találja azt, beállítja a botstátuszt. Ez azért hasznos, mert ekkor a bot nem árasztja el a friss változtatásokat gyors egymás utáni szerkesztéseivel, és a szerkesztései automatikusan megtekintettek lesznek (mintha megerősített szerkesztő lenne), nem kell egy járőrnek minden változtatást ellenőrizni.

[szerkesztés] Használat

[szerkesztés] Botszkript kiválasztása és futtatása

Ha a fentiekkel megvagy, készen állsz a bot futtatására. Ehhez be kell hoznod az operációs rendszeredhez tartozó szöveges felületet (parancssort, terminált).

Windowson a Start menü → Futtatás (angolul Run) pontjával tehető meg. A bejövő ablakban be kell írnod a futtatandó program nevét, „cmd”-t írj be.

  • Menj a C: meghajtóra a cd C:\ paranccsal
  • Ezután írd be a cd \"a pywikipedia letöltésének helye" parancsot

Mac-en a Terminal.app-ra lesz szükséged a /Applications/Utilities-ből.

Linux-on vagy bármelyik Unix-alapú rendszeren egy terminálra lesz szükséged.

Először futtasd le a login.py szkriptet a „python login.py” beírásával. Kérni fogja a jelszót, add meg azt, amit a botnak beállítottál. Erre azért van szükség, mivel a bot nem dolgozik névtelenül. Ha nem változtatod meg a jelszavadat, erre egyetlenegyszer lesz szükséged, mert a bot általában nem jelentkezik ki.

Ezután már bármelyik bot futtatható a „python szkriptneve.py” parancs beírásával (Windowson a „python” elhagyható).

[szerkesztés] Szkriptek

  Elsődleges botszkriptek   További botszkriptek   Segédprogramok  



  • category.py
  • imagetransfer.py
  • interwiki.py
  • redirect.py
  • replace.py
  • solve_disambiguation.py
  • table2wiki.py
  • template.py
  • upload.py
  • weblinkchecker.py
  • wikipedia.py
  • catall.py
  • copyright.py
  • delete.py
  • delinker.py
  • editarticle.py
  • featured.py
  • imageharvest.py
  • movepages.py
  • pagefromfile.py
  • protect.py
  • standardize_interwiki.py
  • standardize_notes.py
  • warnfile.py
  • welcome.py
  • login.py
  • splitwarning.py
  • test.py
  • xmltest.py

[szerkesztés] Parancssori argumentumok

Habár a botszkriptek rendelkeznek saját argumentumokkal, mindegyikkel használható a következő néhány:

-help
megjeleníti, hogy milyen paraméterekkel használható a bot.
-lang:xx
ezzel lehet beállítani, hogy melyik wikiben szeretnél dolgozni, ha nem a user-config.py-ban beállítotton szeretnél.
-family:xyz
ezzel állíthatod be, hogy mely wiki-típuson dolgozol, pl. wikipedia, wiktionary, wikitravel, ... (ez is felülírja a user-config.py-ban megadottakat.
-log
naplózás engedélyezése. A naplók a logs alkönyvtárban tárolódnak.
-log:xyz
naplózás az xyz helyén megadott nevű fájlba.
-nolog
naplózás kikapcsolása (alapértelmezésben be van kapcsolva).
-putthrottle:nn
azon minimális idő (másodpercekben), amennyit várakozzon a bot két lap elmentése között. Az alapértelmezett érték nulla.

Például a python szkriptneve.py -family:wiktionary a Wikiszótárban futtatja a botot, az alapértelmezett konfigurációt figyelmet kívül hagyva.

A különböző scriptek parancssori argumentumait megtalálod az egyes fájlokban, ha azokat jegyzettömbbel vagy más szövegszerkesztővel megnyitod, illetve a -help argumentummal indítva a szkripteket kiírják azokat a képernyőre.

[szerkesztés] Levelezőlisták

A bot használatával kapcsolatban jelenleg négy angol nyelvű levelezőlista üzemel:

  • pywikipedia-l: felhasználók eszmecseréje (normál forgalommal)
  • pywikipedia-announce: fontos közlemények (csekély forgalommal). Minden angolul beszélő botgazdának javasolt feliratkoznia rá!
  • pywikipedia-svn: automata üzenetek a programkód változásairól (nagy forgalommal). A reakciók a pywikipedia-l listára érkeznek.
  • pywikipedia-bugs: automata üzenetek a hibákról (nagy forgalommal)

A korábbi levelezőlistát 2009 áprilisában osztották négy részre, hogy áttekinthetőbb legyen. (Részletek itt.)