Skip to content

Instantly share code, notes, and snippets.

@bitnik
Created July 24, 2018 10:29
Show Gist options
  • Save bitnik/7b6562c78aadac23940b1ace599430a6 to your computer and use it in GitHub Desktop.
Save bitnik/7b6562c78aadac23940b1ace599430a6 to your computer and use it in GitHub Desktop.
how to login to wikipedia api
import requests
def create_wp_session(language='en'):
# create session
session = requests.session()
# fill user, password and headers
user = ""
password = ""
headers = {}
session.auth = (user, password)
session.headers.update(headers)
# get token to log in
wp_api_url = 'https://{}.wikipedia.org/w/api.php'.format(language)
r1 = session.post(wp_api_url, data={'action': 'query', 'meta': 'tokens',
'type': 'login', 'format': 'json'})
token = r1.json()["query"]["tokens"]["logintoken"]
# token = urllib.parse.quote(token)
# log in
r2 = session.post(wp_api_url, data={'action': 'login', 'format': 'json', 'lgname': user,
'lgpassword': password, 'lgtoken': token})
print(r2.json())
return session
session = create_wp_session('en')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment