Вопрос о входе на сайт с запросами и beautifulsoup.
(в Python 3.5)
То, что я пытаюсь сделать, это очистить сайт социального клуба для публичной статистики, но я не могу получить логин вниз.
Я искал другие посты с ответами,но ничего вполне подходящего. Я не хочу использовать selenium, mechanize или какой-либо другой браузер. Я пытаюсь сделать это с помощью запросов и beautifulsoup. Это мой первый пост, поэтому, пожалуйста, также дайте мне знать, если я делаю что-то неправильно/неправильно.
Мой код прекрасно компилируется, никаких синтаксических ошибок или чего-то подобного. Он просто не войдет в систему. Я нашел всю информацию о посте и получил токен, но просто не могу заставить его войти в систему. Вход в систему всегда завершается неудачно. Я знаю, что это, вероятно, довольно простые вещи, так что если бы кто-то мог мне помочь, это было бы здорово! Спасибо. Если бы мне пришлось угадывать, я бы сказал, что это все еще имеет какое-то отношение к маркеру аутентификации в посте.
Это тестовый аккаунт, который я сделал, так что не беспокойтесь о том, что я покажу пароль. Все в порядке
Это данные post при входе в систему
login=smittyofwar@mail.com
пароль=Harambe1
__RequestVerificationToken=5xNBfVT5mZcHNd8e8Bt2pFqzPLxc36QYasao3kovjdh-wBTJLT6rD5Yaq39mPbq_Q5vDrUcOZ-E0MzAzXrgW7qFRy-Y1
import requests from bs4 import BeautifulSoup s = requests.session() login_url = "http://socialclub.rockstargames.com/profile/signin" #get the token needed to log in tmp=s.get("http://socialclub.rockstargames.com") findtoken = BeautifulSoup(tmp.content, "lxml") token=findtoken.find("__RequestVerificationToken") #__________________________________ username = 'smittyofwar@mail.com' passwrd='Harambe1' data = dict(login=username, password=passwrd,__RequestVerificationToken=token, next='/') s.post(login_url, data=data,headers=dict(Referer="http://socialclub.rockstargames.com")) r = s.get("http://socialclub.rockstargames.com") #r = s.get("https://socialclub.rockstargames.com/member/cjg320/games/gtav/career/overview/gtaonline") soup = BeautifulSoup(r.content, "lxml") soup = soup.prettify() with open('thesauce.txt', 'w', encoding='utf-8') as f: for line in soup: f.write(str(line))
Что я уже пробовал:
Я просмотрел бесчисленное множество других вопросов и исследовал их через google. Также пробовал другой код в течение нескольких часов.
Patrice T
Никогда не публикуйте реальные учетные данные на публичном форуме.
Member 12762376
Это всего лишь тестовый аккаунт. Абсолютно ничего из этого не могло получиться.