Jump to content

Manuel:Pywikibot/Créez votre propre script

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

Cette page fournit quelques informations basiques pour démarrer l'écriture de votre propre robot. Assurez-vous d'avoir auparavent bien initialisé le fichier user-config.py  !

Vous pouvez utiliser les commandes suivantes soit dans un shell ou bien les mettre dans un script.

Pour ouvrir un shell, exécutez python pwb.py shell;

Pour un script, veuillez sauvegarder le fichier sous myscript.py dans le répertoire scripts/userscripts/ ; puis exécuter python pwb.py myscript.

  • Pour accéder à la bibliothèque pywikibot depuis votre script Python, utilisez :
import pywikibot
  • pour récupérer une page, suivez les indications ci-après, où pageName est le titre de la page que vous voulez avoir, par exemple Wikipedia:Bots ou India :
site = pywikibot.Site()
page = pywikibot.Page(site, "pageName")
text = page.text
  • pour mettre à jour une page, utilisez :
page.text = "newText"
page.save("Edit comment")
  • ouvrez les fichiers pywikibot pour y trouver d'autres idées -- scripts/basic.py est relativement simple à lire même si vous êtes nouveau sur pywikibot.
  • vous pouvez trouver toutes les pages des méthodes disponibles dans le fichier pywikibot/page.py .
  • basic.py fournit une initialisation que vous pouvez utiliser pour différents robots; tout ce que vous avez à faire est de définir la modification de chaîne sur le texte de la page.
  • Pour réitérer sur un ensemble de pages, voyez pywikibot/pagegenerators.py (voyez aussi l'ancienne documentation) où se trouvent des objets qui retournent un ensemble de pages. Un exemple d'utilisation de CategoryPageGenerator qui travaille sur chacune des pages de Category:Living people est :
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

Voir aussi


Si vous avez besoin de plus d'aide pour configurer votre Pywikibot, consultez le canal IRC #pywikibot connecter ou la liste de diffusion pywikibot@.