Skip to content

Instantly share code, notes, and snippets.

@Pavelovich
Created August 20, 2014 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Pavelovich/dd153eb9f20ddc14b041 to your computer and use it in GitHub Desktop.
Save Pavelovich/dd153eb9f20ddc14b041 to your computer and use it in GitHub Desktop.
#!/usr/bin/python
import requests
from bs4 import BeautifulSoup
import json
import urllib
username = "Lieutenant S. bot"
password = "xxxxxxxx"
#domain = "https://meta.orain.org"
domain = "http://encyclopediamuricana.us"
# Logging in
post_request = {"action":"login","lgname":username,"lgpassword":password,"format":"json"}
req = requests.post(""+ domain +"/w/api.php", data=post_request)
r_json = json.dumps(req.json())
r_json = json.loads(r_json)
cookies = req.cookies
print req.json()
token = r_json[u"login"][u"token"]
print token
post_request = {"action":"login","lgname":username,"lgpassword":password,"lgtoken":token,"format":"json"}
req = requests.post(""+ domain +"/w/api.php", data=post_request, cookies=cookies)
r_json = json.dumps(req.json())
r_json = json.loads(r_json)
cookies = req.cookies
print r_json[u"login"][u"result"]
# Getting an edit token
post_request = {"action":"query","prop":"info|revisions","intoken":"edit","titles":"Encyclopedia Muricana:Sandbox","format":"json"}
req = requests.post(""+ domain +"/w/api.php", data=post_request, cookies=cookies)
r_json = json.dumps(req.json())
r_json = json.loads(r_json)
cookies = req.cookies
print req.json()
edittoken = r_json[u"query"][u"pages"][u"-1"][u"edittoken"]
#edittoken = edittoken.replace("+\\","")
edittoken = str(edittoken)
edittoken = urllib.quote_plus(edittoken)
print edittoken
# Making an edit
edittext = "Bot edit"
edittext = urllib.quote_plus(edittext)
post_request = {"format":"json","action":"edit","title":"Encyclopedia Muricana:Sandbox","appendtext":edittext,"token":edittoken}
headers = {"Content-Type":"application/x-www-form-urlencoded"}
req = requests.post(""+ domain +"/w/api.php", headers=headers, data=post_request, cookies=cookies)
print req.json()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment