Open main menu

Manual:Pywikibot/PAWS/de

This page is a translated version of the page Manual:Pywikibot/PAWS and the translation is 59% complete.

Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎čeština • ‎Ελληνικά • ‎русский • ‎українська • ‎اردو • ‎العربية • ‎中文 • ‎日本語 • ‎한국어
See Wikitech:PAWS for more details.

Dieses Dokument bietet eine schnelle, interaktive Übersicht von Pywikibot mithilfe eines Notebooks, das auf der Wikimedia Labs-Umgebung unter Verwendung von PAWS gehostet wird.

Note PAWS Terminal supports copy and paste in Chromium-based browsers only (Google Chrome, Opera and Safari are fine). If you use a different browser, you can try with context menu only (right-click) or you will need to manually type the commands mentioned in this walk-through. You can also create a bash file with in content the command and call in terminal with bash file.sh.
Warnung Warnung: All notebooks and terminals in PAWS are subject to termination without notice. You are encouraged to run your task on other places (such as Toolforge) if your task lasts for more than hours.

Erstellen eines Wikimedia-Benutzerkontos

Um diese schnelle Demonstration durchzuführen, benötigen Sie lediglich ein Benutzerkonto bei einem Wikimedia-Projekt.

Wenn sie ein Benutzerkonto erstellt haben, besuchen Sie bitte https://test.wikipedia.org/ und stellen Sie sicher, dass Ihr Benutzername in der oberen rechten Ecke auftaucht. (das funktioniert mit T120327).

Einschreiben in ein Notebook

Um ein gehostetes Notebook zu starten, besuchen Sie bitte https://paws.wmflabs.org/paws/hub

Drücken sie auf "Sign in with MediaWiki" und anschließend auf "Allow", wenn sie um die Erlaubnis für "Use OAuth for Authentication" gebete werden. Beim ertsen Besuch von PAWS müssen sie einen Server erstellen. Click the green "Start my Server" button. It's normal to wait a few minutes for the new server to start up.

Wenn dies abgeschlossen ist, werden Sie zu einer URL umgeleitet, die wie https://paws.wmflabs.org/paws/user/<username>/tree aussieht.

Eine Konsole starten

Um eine neue interaktive Konsole zu öffnen,

  1. Gehen sie zu ihrer PAWS Startseite
  2. Klicken Sie auf "New" auf der rechten Seite
  3. Wählen sie "Terminal"

Das wird ein neues Fenster mit der URL https://paws.wmflabs.org/paws/user/<username>/terminals/1 mit der Linux-Eingabeaufforderung "$".

Sie können die URL zu ihren Lesezeichen hinzufügen und zu dieser Seite zurückkehren, selbst wenn sie Ihren Browser geschlossen oder Ihren Computer heruntergefahren haben.

Diese Konsole ist kein Emulator. Es ist eine echte Bash Shell, wie sie Teil einer Linux-Installation basierend auf einem Docker-Container ist. Also kann jeder Bash-Befehl und jeder auf Linux verfügbare und installierte Befehl verwendet werden.

Um einige der verfügbaren Befehle zu sehen, verwenden Sie ls /bin/.

$ ls /bin/
bash          cat            domainname  journalctl  mkdir          pwd         stty                            tar           zcmp
unzip2       chacl          echo        kill        mknod          rbash       su                              tempfile      zdiff
../..
$ ls /usr/bin/
2to3-3.4                 dvipdf                     lcf                         printf               systemd-path                         
X11                      dwp                        ld                          prlimit              systemd-run
../..


Login to the wiki

This will establish your account on the server and allow you to log in from the command line.

Der folgende Befehl sollte bestätigen, dass Sie sich auf https://test.wikipedia.org/ einloggen können. Da OAuth verwendet wird, wird kein Passwort benötigt.

$ pwb.py login
Logging in to wikipedia:test as <username>
Logged in on wikipedia:test as <username>.

You can connect pywikibot to a different wiki by creating a file named user-config.py in your $HOME directory (/home/paws) and adding mylang and family variables:

mylang = 'test'
family = 'wikipedia'

Eine Seite erstellen

Um eine Seite zu erstellen, geben Sie den folgenden Befehl in die Konsole ein, wobei Sie "<username>" mit Ihrem Benutzernamen ersetzen und anschließend "Y" drücken, wenn sie gefragt werden, ob sie ihre Änderungen übernehmen möchten:

$ pwb.py add_text -up -talk -page:"User talk:<username>" -text:"Hello. ~~~~"
Loading User talk:<username>...

>>> User talk:<username> <<<
@@ -0,0 +1 @@
+ Hello. ~~~~

Do you want to accept these changes? ([Y]es, [N]o, [a]ll, open in [b]rowser): Y
Page [[User talk:<username>]] saved

Nun haben Sie das Wiki bearbeitet. Sehen Sie sich ihre Änderungen an, indem sie https://test.wikipedia.org/wiki/User_talk:<username> in Ihrem Browser öffen.

Sie können mehr über die Skripte erfahren, wenn sie die "-help"-Option anwenden.

$ pwb.py add_text -help
...

Eine Seite fetchen

Das Fetchen vieler Seiten wird durch den "listpages"-Befehl ermöglicht.

Um die Inhalte der erstellten Seite anzuzeigen, geben Sie folgenden Befehl ein:

$ pwb.py listpages -page:"User talk:<username>" -save
   1 <username>
Saving User talk:<username> to /home/paws/User_talk_<username>
1 page(s) found

Wenn Sie nun auf Ihre PAWS Dateiliste gehen, sollte die gespeicherte Seite dort vorhanden sein.

Ein echtes Skriptbeispiel

Wenn eine auf Wikipedia verwendete Seite ihre URL verändert, veralten die Links auf Wikipedia und möglicherweise werden sie auch zu Redlinks, falls keine Weiterleitung von der alten URL zu der neuen URL erstellt wird.Zum Beispiel Encyclopedia Britannica (EB) hat ihre Links durch das Verschieben von Seiten von http://www.britannica.com/EBchecked/media/ nach http://www.britannica.com/topic/[topic name]/images-videos/* verändert. Sie können die Liste der Verwendungen der alten URL auf https://en.wikipedia.org/wiki/Special:LinkSearch/http://www.britannica.com/EBchecked/media im englischen Wikipedia finden. Das manuelle Erneuern dieser Links würde zeitlich sehr uneffizient sein. Zum Glück hat EB Weiterleitungen von den alten URLs zu den neuen URLs beibehalten, also müssen die Wikipedia-Links nicht sofort erneuert werden.

For example, Encyclopedia Britannica (EB) has changed their links, such as moving pages from http://www.britannica.com/EBchecked/media/ to http://www.britannica.com/topic/[topic name]/images-videos/*. You can find the list of usages of the old URL on English Wikipedia at w:Special:LinkSearch/http://www.britannica.com/EBchecked/media. Updating all those links manually will be very time consuming. Thankfully EB has maintained redirects from their old URLs to the new URLs, so this does not need to be fixed immediately.

Ein einfacheres Beispiel wäre, dass das englische Wikipedia zurzeit Links zu http://britannica.com/EBchecked/ statt http://www.britannica.com/EBchecked/ enthält; es fehlt also das "www." als Subdomain in der URL.

Es gibt derzeit 14 Fälle im englischen Wikipedia: https://en.wikipedia.org/wiki/Special:LinkSearch/http://britannica.com/EBchecked/

Wikipedia hat dieses Problem auch in anderen Sprachen. Zum Beispiel gab es einen Fall im deutschen Wikipedia: https://de.wikipedia.org/wiki/Spezial:Weblinksuche/http://britannica.com/EBchecked/

Um diese Links zu reparieren, können wir das Pywikibot-replace.py-Skript verwenden. In dieser Demonstration werden wir das "-simulate"-Argument verwenden, um nicht das Wiki zu bearbeiten, da es strenge Regeln für das automatisierte Bearbeiten beim englischen Wikipedia gibt.

Zuerst betrachten wir alle Seiten, die zu http://britannica.com/EBchecked/ verlinken.

$ pwb.py listpages -lang:en -weblink:"britannica.com/EBchecked/"
   1 Bhatner fort
   2 Mohammad Ishaq Khan
   3 Fringe theories/Noticeboard/Archive 7
   4 El Riego phase
   5 Catalonia/Archive 4
   6 Stephen I of Hungary
   7 Stephen I of Hungary/Archive 1
   8 Väinö Tanner
   9 Tokaji
  10 Transylvania/Archive5
  11 Hungarians in Romania
  12 Transylvania
  13 Uttarakhand
  14 Françoise Giroud
14 page(s) found

Nun schauen wir, ob die Seiten die wortwörtliche URL auf der Seite haben, das heißt, dass sie nicht die Vorlage verwenden.

$ pwb.py listpages -lang:en -weblink:"britannica.com/EBchecked/" -grep:"britannica.com\/EBchecked"
   1 Bhatner fort
   2 Mohammad Ishaq Khan
   3 Fringe theories/Noticeboard/Archive 7
   4 El Riego phase
   5 Catalonia/Archive 4
   6 Stephen I of Hungary
   7 Stephen I of Hungary/Archive 1
   8 Väinö Tanner
   9 Tokaji
  10 Transylvania/Archive5
  11 Hungarians in Romania
  12 Transylvania
  13 Uttarakhand
  14 Françoise Giroud
14 page(s) found

Nun nutzen wir "replace", um das fehlende "www." hinzuzufügen.

$ pwb.py replace -lang:en -simulate -weblink:"britannica.com/EBchecked/" -grep:"britannica.com\/EBchecked" "http://britannica.com/EBchecked/" "http://www.britannica.com/EBchecked/"
The summary message for the command line replacements will be something like: Bot: Automated text replacement  (-http://britannica.com/EBchecked/ +http://www.britannica.com/EBchecked/)
Press Enter to use this automatic message, or enter a description of the
changes your bot will make: 
Logging in to wikipedia:en as <username>
Retrieving 14 pages from wikipedia:en.
Retrieving 14 pages from wikipedia:en.


>>> Stephen I of Hungary <<<
@@ -47 +47 @@
- Stephen's birth date is uncertain because it was not recorded in contemporaneous documents.{{sfn|Györffy|1994|p=64}} Hungarian and Polish chronicles written centuries later give three different years: 967, 969 and 975.{{sfn|Kristó|2001|p=15}} The unanimous testimony of his three late 11th-century or early 12th-century [[hagiographies]] and other Hungarian sources, which state that Stephen was "still an adolescent" in 997,<ref>''Hartvic, Life of King Stephen of Hungary'' (ch. 5), p. 381.</ref> substantiate the reliability of the later year (975).{{sfn|Györffy|1994|p=64}}{{sfn|Kristó|2001|p=15}} Stephen's ''[[Life of Saint Stephen, King of Hungary (Vita minor)|Lesser Legend]]'' adds that he was born in [[Esztergom]],{{sfn|Györffy|1994|p=64}}{{sfn|Kristó|2001|p=15}}<ref name=Britannica>{{cite encyclopedia|title=Stephen I|url=http://britannica.com/EBchecked/topic/565415/Stephen-I|encyclopedia=[[Encyclopædia Britannica]]|publisher=Encyclopædia Britannica, Inc.|year=2008|accessdate=2008-07-29}}</ref> which implies that he was born after 972 because his father, [[Géza, Grand Prince of the Hungarians]], chose Esztergom as royal residence around that year.{{sfn|Györffy|1994|p=64}} Géza promoted the spread of Christianity among his subjects by force, but never ceased worshipping pagan gods.{{sfn|Kontler|1999|p=51}}{{sfn|Berend|Laszlovszky|Szakács|2007|p=331}} Both his son's ''[[Life of Saint Stephen, King of Hungary (Vita maior)|Greater Legend]]'' and the nearly contemporaneous [[Thietmar of Merseburg]] described Géza as a cruel monarch, suggesting that he was a despot who mercilessly consolidated his authority over the rebellious Hungarian lords.{{sfn|Berend|Laszlovszky|Szakács|2007|p=331}}{{sfn|Bakay|1999|p=547}}
+ Stephen's birth date is uncertain because it was not recorded in contemporaneous documents.{{sfn|Györffy|1994|p=64}} Hungarian and Polish chronicles written centuries later give three different years: 967, 969 and 975.{{sfn|Kristó|2001|p=15}} The unanimous testimony of his three late 11th-century or early 12th-century [[hagiographies]] and other Hungarian sources, which state that Stephen was "still an adolescent" in 997,<ref>''Hartvic, Life of King Stephen of Hungary'' (ch. 5), p. 381.</ref> substantiate the reliability of the later year (975).{{sfn|Györffy|1994|p=64}}{{sfn|Kristó|2001|p=15}} Stephen's ''[[Life of Saint Stephen, King of Hungary (Vita minor)|Lesser Legend]]'' adds that he was born in [[Esztergom]],{{sfn|Györffy|1994|p=64}}{{sfn|Kristó|2001|p=15}}<ref name=Britannica>{{cite encyclopedia|title=Stephen I|url=http://www.britannica.com/EBchecked/topic/565415/Stephen-I|encyclopedia=[[Encyclopædia Britannica]]|publisher=Encyclopædia Britannica, Inc.|year=2008|accessdate=2008-07-29}}</ref> which implies that he was born after 972 because his father, [[Géza, Grand Prince of the Hungarians]], chose Esztergom as royal residence around that year.{{sfn|Györffy|1994|p=64}} Géza promoted the spread of Christianity among his subjects by force, but never ceased worshipping pagan gods.{{sfn|Kontler|1999|p=51}}{{sfn|Berend|Laszlovszky|Szakács|2007|p=331}} Both his son's ''[[Life of Saint Stephen, King of Hungary (Vita maior)|Greater Legend]]'' and the nearly contemporaneous [[Thietmar of Merseburg]] described Géza as a cruel monarch, suggesting that he was a despot who mercilessly consolidated his authority over the rebellious Hungarian lords.{{sfn|Berend|Laszlovszky|Szakács|2007|p=331}}{{sfn|Bakay|1999|p=547}}

Do you want to accept these changes? ([y]es, [N]o, [e]dit, open in [b]rowser, [a]ll, [q]uit): N

...

In PAWS wird bei jeder Konsole, die farbliche Darstellungen unterstützt, der Unterschied grün dargestellt, in unserem Fall das "www.", was uns das Finden der Änderungen erleichtert.

In Pywikbot

  Warnung: Don't write passwords in files of server, the files are public!

Als nächstes werden wir die PAWS-Python-Sitzung verwenden.

  1. Gehen Sie zu ihrer Startseite home
  2. Klicken Sie auf "New" auf der rechten Seite
  3. Wählen Sie 'Python 3' aus

Dies wird ein neues Fenster öffnen.

Geben Sie folgendes in die Textbox ein und wählen sie "Run" (oder alternativ Umschalt+Eingabe).

import pywikibot

Eine neue Textbox wird darunter erscheinen. Starten sie folgenden, um ein APISite-Objekt zu erschaffen, das mit https://test.wikipedia.org/ verbunden ist:

site = pywikibot.Site('test', 'wikipedia')

Legen Sie "site" fest, indem Sie es in die neue Textbox eingeben und "Run" wählen.

site

Es sollte folgendes anzeigen

 Out[3]: APISite("test", "wikipedia")

Erzeuge ein Seitenobjekt:

page = pywikibot.Page(site, 'test')

Prüfe durch Aufrufen, ob es vorhanden ist:

page.exists()

Es sollte folgendes ausgeben

 VERBOSE:pywiki:Found 1 wikipedia:test processes running, including this one.
 Out[5]: True

Zeige den Text auf der Seite:

page.text

Ändere den Seitentext in dem Objekt:

page.text = 'Hello world'

Speichere die Seite im Wiki:

page.save()

Die Antwort sollte folgendermaßen lauten:

  Page [[Test]] saved
  INFO:pywiki:Page [[Test]] saved

Das interaktive Python 3-Notbook erlaubt ihnen, viele Befehle zusammen auszuführen. Das obere kann auch in eine einzige Textbox eingegeben werden.

import pywikibot

site = pywikibot.Site('test', 'wikipedia')
page = pywikibot.Page(site, 'test')

page.text = 'Hello world!'
page.save()

Der Log Ihrer interaktiven Python-Sitzung kann für zukünftige Nachfrage gespeichert oder heruntergeladen werden.

Auf die Online-Dokumentation in PAWS zugreifen

Die Pywikibot-Dokumentation kann unter https://doc.wikimedia.org/pywikibot/index.html gefunden werden. Es basiert hauptsächlich auf docstrings, was im interaktiven Python 3-Notebook mithilfe der eingebauten Funktion help() geladen werden kann.

Um zum Beispiel die Argumente für die Speicher-Methode oben anzusehen, führen Sie das aus:

help(page.save)

or

help(pywikibot.Page.save)

Pywikibot-Skripte bearbeiten

Die Pywikibot-Bibliothek und die Skripte befinden sich in /srv/paws und sind nur lesbar. Die installierte Pywikibot-Bibliothek kann nicht in PAWS bearbeitet werden.

Skripte können nach dem Kopieren in Ihr PAWS home modifiziert werden.

Um eine modifizierte Datei "checkimages.py" zu bearbeiten:

  1. Geben Sie in der Konsole "cp /srv/pwb/scripts/checkimages.py ~" ein
  2. Klicken Sie auf Ihre Datei "checkimages.py" in Ihrem PAWS home
  3. Verändern sie den Quelltext und speichern Sie Ihre Modifikationen.
  4. Geben Sie in der Konsole "pwb.py ~/checkimages.py -simulate" ein
  1. In the terminal, enter cp /srv/paws/pwb/scripts/checkimages.py ~
  2. In a browser, go to your PAWS home and click on the file checkimages.py.
  3. In the browser, you can edit the file. Edit the code -- for instance, just after the start = time.time() code on line 1775, add a new line 1776 that will print out your name: print("MYNAME's version.")
  4. In the editing interface, use the File menu and click Save to save your modifications.
  5. In the terminal, enter pwb.py ~/checkimages.py -simulate

See also


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