Handbuch:Pywikibot/Schreibe dein eigenes Skript

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

Diese Seite enthält einige grundlegende Tipps, um deinen ersten eigenen Bot zu schreiben. Achte darauf, dass deine user-config.py -Datei richtig eingerichtet ist!

Du kannst die folgenden Befehle entweder in der Shell eingeben, oder in einer Skript-Datei.

Um eine Shell zu öffnen, starte python pwb.py shell.

Wenn du mit einem Skript arbeiten möchtest, speichere es als mein_skript.py im scripts/userscripts/-Verzeichnis und starte es mit python pwb.py mein_skript

  • Um Zugriff auf die Pywikibot-Bibliothek zu erhalten, schreibe:
import pywikibot
  • Mit folgenden Befehlen kannst du eine Wiki-Seite abrufen. "pageName" ist dabei der Titel der Seite, z.B. "Wikipedia:Bots" oder "Indien":
site = pywikibot.Site()
page = pywikibot.Page(site, "pageName")
text = page.text
  • um einen Seiteninhalt zu ändern, schreibe:
page.text = "newText"
page.save("Edit comment")
  • schau dir einige Beispiel-Skripte an -- scripts/basic.py ist auch für Einsteiger recht einfach zu lesen.
  • in der pywikibot/page.py-Datei findest du alle verfügbaren Seiten-Methoden.
  • basic.py bietet dir eine gute Basis, die für viele verschiedene Bots verwendet werden kann. Alles, was du tun musst, ist den Text festzulegen, der auf die Seite geschrieben werden soll.
  • In pywikibot/pagegenerators.py (und z.T. auch noch in der alten Dokumentation) erfährst du, wie du eine Reihe von Seiten nacheinander bearbeiten kannst. Das folgende Beispiel für den CategoryPageGenerator bearbeitet jede Seite in der englischen Kategorie für Lebende Personen:
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

Siehe auch


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