Приветствую, Лор!
Нужно залогиниться на stackoverflow и добавить в избранное некий вопрос, а так же сделать его voteup. Всё это нужно сделать из скрипта на питоне.
У SO есть api, но уж больно у них там как-то мутно с Oauth авторизацией, которую я не осилил.
Пытаюсь делать необходимые запросы при помощи requests, предварительно посмотрев как их сделать в chrome dev tools.
Авторизоваться получилось следующим кодом:
#!/usr/bin/env python
import requests
USERNAME = 'логин'
PASSWORD = 'пасворд'
LOGINURL = 'https://stackoverflow.com/users/login?returnurl=http://stackoverflow.com/'
session = requests.session()
req_headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
auth_credential = {
'email': USERNAME,
'password': PASSWORD
}
r = session.post(LOGINURL, data=auth_credential, headers=req_headers)
print(r.text)
Авторизоваться получается успешно. Далее пытаюсь жмакнуть звездочку какого-нибудь вопроса. Очевидно, что там ajax и прочая магия и запрос , которым я пытаюсь это сделать не работает:
...
js_header = {
'Content-Type': 'application/json'
}
fav = session.post('http://stackoverflow.com/posts/9548729/favorite', headers=js_header)
print(fav.text)
В ответ получаю: «Suspicious request - Stack Overflow»
Есть варианты как решить мою задачу, или придется осиливать Oauth?