Я только начинаю с этого, и для развлечения / практики я подумал, что буду пытаться автоматизировать загрузку баланса своего портфеля акций ежедневно - хранить данные где-то и представлять их в виде графика - что-то вроде «попробуй немноговсего личного проекта.
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)`