Войдите, чтобы очистить - получить маркер подлинности, но в результате HTML-код для страницы входа не целевой страницы - что я делаю не так? - PullRequest
0 голосов
/ 25 сентября 2019

Я только начинаю с этого, и для развлечения / практики я подумал, что буду пытаться автоматизировать загрузку баланса своего портфеля акций ежедневно - хранить данные где-то и представлять их в виде графика - что-то вроде «попробуй немноговсего личного проекта.

Anyhoo - чтобы получить нужное мне значение - мне нужно войти в систему, используя электронную почту и пароль - на странице также есть маркер подлинности (вы можете увидеть его в html), который я решилкак собирать урожай.Я публикую свою полезную нагрузку, содержащую электронную почту, пароль и токен, распечатаю токен (чтобы проверить, что он меняется каждый раз, и, следовательно, он может быть сгенерирован заново), затем пытаюсь получить доступ к странице с ежедневным балансом и очистить итог.

На данный момент я получаю оригинальную страницу входа!Как я уже сказал, я новичок в этом, так что это как бы собраны воедино из разных примеров, с которыми я сталкивался.

Проблема не в ошибках - так что это где-то логическая проблема, и я не до конца понимаю, что яЯ делаю, я немного потерян.

Советы / решения и т. д. с благодарностью получил

Код выглядит следующим образом:

import requests 
from lxml import html
import time
#open session
session_requests = requests.session()
#load info for login
payload = {
'email':'mymail@gmail.com',
'password':'mypassword',
'authenticity_token':'CSRF_TOKEN'
}
#describe login and portfolio balance page
login_url = 'https://dadada.com/login'
portfolio = 'https://dadada.com/my_one/portfolio'

#get login page
result = session_requests.get(login_url)

#obtain authenticity token
tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='authenticity_token']/@value")))[0]

#check authenticity token obtained
print(authenticity_token)

post = session_requests.post(
login_url, 
data = payload, 

)

time.sleep(20)

r = session_requests.get(portfolio)
print(r.text)`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...