Member 12762376 Ответов: 0

Вопрос о входе на сайт с запросами и 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

Это всего лишь тестовый аккаунт. Абсолютно ничего из этого не могло получиться.

0 Ответов