Skip to content

Instantly share code, notes, and snippets.

@theShmoo
Created February 6, 2017 17:26
Show Gist options
  • Save theShmoo/f5ff790f0dfb74c5bd9a7b1f6052991e to your computer and use it in GitHub Desktop.
Save theShmoo/f5ff790f0dfb74c5bd9a7b1f6052991e to your computer and use it in GitHub Desktop.
Simple editing of pik8
# -*- 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)
# payload = {'action': 'tokens', 'format': 'json', 'utf8': '',
# 'type': 'edit'}
# r3 = requests.post(baseurl + 'api.php', data=payload, cookies=r2.cookies)
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment