Bearbeiten von Pik8 mit Python
Aus PIK8
Automatisierte Aufgaben sind hilfreich um viele Elemente gleichzeitig zu bearbeiten
Inhaltsverzeichnis
Direkt über die Wiki API
Die Wiki Api bietet die Möglichkeit Abfragen an die Pik8 zu schicken.
Python Script um einen Artikel zu bearbeiten
# -*- coding: utf-8 -*- import requests username = 'USERNAME' password = 'PASSWORT' baseurl = 'http://www.pik8.at/w/' summary = 'bot hello' message = 'Hello Wikipedia. I am alive!' title = 'Benutzer:Dpfahler' s = requests.session() # Login request payload = {'action': 'login', 'format': 'json', 'utf8': '', 'lgname': username} r1 = s.post(baseurl + 'api.php', data=payload) print(r1.text) # login confirm login_token = r1.json()['login']['token'] payload = {'action': 'login', 'format': 'json', 'utf8': '', 'lgname': username, 'lgpassword': password, 'lgtoken': login_token} r2 = s.post(baseurl + 'api.php', data=payload) print(r2.text) # get edit token2 params3 = '?format=json&action=tokens' r3 = s.get(baseurl + 'api.php' + params3) print(r3.text) edit_token = r3.json()['tokens']['edittoken'] # save action payload = {'action': 'edit', 'assert': 'user', 'format': 'json', 'utf8': '', 'appendtext': message, 'summary': summary, 'title': title, 'token': edit_token} r4 = s.post(baseurl + 'api.php', data=payload) print(r4.text)
https://gist.github.com/theShmoo/f5ff790f0dfb74c5bd9a7b1f6052991e
Schreiben eines PyWikiBots
Eine schnellere und einfachere Möglichkeit Anfragen an das Wiki zu stellen ist mittels einer Library.
Ich habe Pywikibot ausgetestet.
Installieren und Konfigurieren
Install Python
Download und installiere Python von http://www.python.org/downloads/.
Downloading Pywikibot
Download Pywikibot 2.0rc5
Oder "nightly downloads" von https://tools.wmflabs.org/pywikibot/.
Configuring Pywikibot
mit der Eingabe von
python pwb.py login
erstellst du ein user_config.py file.