Manual:Pywikibot/Vytvorte si vlastný skript

This page is a translated version of the page Manual:Pywikibot/Create your own script and the translation is 87% complete.

Na tejto stránke je pár základných rád ohľadne tvorby vlastného bota. Nezabudnite si však najprv nastaviť súbor user-config.py !

Môžete použiť nasledujúce príkazy v prostredí shell alebo v rámci skriptu.

Na zapnutie shellu spustite príkaz python pwb.py shell.

Ak chcete použiť skript, prosíme, uložte ho ako myscript.py v priečinku scripts/userscripts/ a potom ho môžete spustiť príkazom python pwb.py myscript.

  • Aby ste v skripte získali prístup do knižnice pywikibot, použite:
import pywikibot
  • aby ste sa dostali k stránke, použite nasledovné príkazy, pričom pageName je názov stránky, ktorú chcete upraviť (napríklad Wikipédia:Bot alebo India)
site = pywikibot.Site()
page = pywikibot.Page(site, "pageName")
text = page.text
  • na úpravu stránky použite:
page.text = "newText"
page.save("Edit comment")
  • pozrite sa na súbory, ktoré pywikibot obsahuje, z ktorých sa môžete inšpirovať -- scripts/basic.py je relatívne jednoducho čitateľný program, aj keď s pywikibotom len začínate.
  • v súbore pywikibot/page.py nájdete všetky metódy, ktoré možno použiť na stránkach.
  • program basic.py poskytuje základné nastavenia, ktoré možno použiť pre mnoho rôznych botov, je nutné upraviť len spôsob, ktorým sa má upraviť text stránok.
  • V pywikibot/pagegenerators.py je možné nájsť objekty, ktoré vracajú zoznamy stránok, cez ktoré je možné iterovať (postupne stránky prechádzať). Nižšie je príklad použitia objektu CategoryPageGenerator, ktorý umožňuje vykonať úpravu na každej stránke v kategórii Kategória:Žijúci ľudia:
import pywikibot
from pywikibot import pagegenerators
site = pywikibot.Site()
cat = pywikibot.Category(site,'Category:Living people')
gen = pagegenerators.CategorizedPageGenerator(cat)
for page in gen:
    #Do something with the page object, for example:
    text = page.text

Pozri aj


If you need more help on setting up your Pywikibot visit the #pywikibot IRC channel connect or pywikibot@ mailing list.