Created
August 20, 2014 14:03
-
-
Save Pavelovich/dd153eb9f20ddc14b041 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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