C
C
cegthgtlhj2019-10-18 18:10:11
Parsing
cegthgtlhj, 2019-10-18 18:10:11

What is the correct way to read the file along with hidden __csrf_token?

пытаюсь написать автоматический вход на сайт с дальнейшим парсингом результатов.
Авторизационная форма кроме логина и пароля пересылает hidden __csrf_token.
Вопрос 1
Правильно ли что сначала нужно этот вебсайт считать GET запросом, потом вытащить из HTML текста __csrf_token и его вместе с логином и паролем отправить следующим запросом для входа на сайт?
если неправильно, то как сделать?
Вопрос 2
Предполагая, что моя логика в Вопросе 1 правильная, пытаюсь нижеуказанным кодом считать сайт.

import requests
from bs4 import BeautifulSoup
s = requests.Session()
_url_00 = "https://www.filter-technik.de/account"
x_00 = s.get(_url_00)
with open("_ELSAESSER_000.html", "w", encoding='utf-8') as f:
    f.write(x_00.text)
soup_00 = BeautifulSoup(x_00.text, "html.parser")
_match = soup_00.find("__csrf_token")
print(_match)
input()

as it turns out, when reading in this way, __csrf_token is not saved in the text of the file,
q06.png
although when saving a file like Ctrl + S in mozilla, this token is visible there
q05.png
How to correctly read the file along with hidden __csrf_token ??

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
AWEme, 2019-10-18
@cegthgtlhj

Собственно после минуты в инспекторе оказалось, что токен отдаётся в заголовке ответа.

r = requests.get('https://www.filter-technik.de/csrftoken')
token = r.headers['X-Csrf-Token']

C
cegthgtlhj, 2019-10-18
@cegthgtlhj Автор вопроса

AWEme AWEme
Благодарю вас. Для Вас это одна минута, для меня-чайника несколько дней.
Всё расно не совсем понял как вы пришли к этим двум строкам
и
Если найдете еще минуту, поясните пож-ста вкратце.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question