Manuale:Pywikibot/Creare uno script

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

Questa pagina elenca alcuni consigli elementari per iniziare a scrivere il proprio bot. Assicurarsi di aver impostato il proprio file user-config.py !

I seguenti comandi possono essere usati sia in una shell che in uno script.

Per aprire una shell, eseguire python pwb.py shell;

Per quanto riguarda lo script, salvare il file come myscript.py nella cartella scripts/userscripts/, poi eseguire python pwb.py myscript.

  • Per accedere alla libreria pywikibot dal proprio script Python, usare:
import pywikibot
  • Per richiamare una pagina, usare quanto segue, dove "pageName" è il titolo della pagina che si desidera richiamare, ad es. Wikipedia:Bots or India:
site = pywikibot.Site()
page = pywikibot.Page(site, "pageName")
text = page.text
  • Per l'aggiornamento di una pagina, usare:
page.text = "newText"
page.save("Edit comment")

Guarda alcuni dei file pywikibot per ulteriori idee -- scripts/basic.py è relativamente facile da leggere anche se sei nuovo in Pywikibot.

  • Puoi trovare tutti i metodi disponibili per le pagine nel file pywikibot/page.py.
  • basic.py ti dà una configurazione che può essere usata per molti bot diversi, tutto ciò che devi fare è definire la modifica della stringa sul testo della pagina.

Per iterare su di un insieme di pagine, vedi pywikibot/pagegenerators.py (vedi anche la vecchia documentazione) per alcuni oggetti che restituiscono un insieme di pagine. Un esempio l'uso di CategoryPageGenerator che fa qualcosa per ogni pagina nella categoria Category:Living people:

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

Vedi anche


Se hai bisogno di ulteriore aiuto per configurare il tuo Pywikibot visita il canale IRC #pywikibot connect o la mailing list pywikibot@.