#python #authentication #python-requests
Вопрос:
Я пытаюсь войти по URL-адресу и получить информацию о товарах в своей корзине. Для получения данных запроса на вход мне нужны имя пользователя и пароль, а также токен и ответ на повторную проверку, который я не знаю, как их получить. У токена есть имя «struts.token», и я пытаюсь получить его с помощью этого кода, но это не работает.
import requests
from bs4 import BeautifulSoup as bs
headers = {
'user-agent' : 'your user agent'
}
with requests.Session() as s:
s.headers = headers
r = s.get('https://www.lidl.es/es/account/login')
soup = bs(r.content, 'html.parser')
token = soup.find('input', {'name' : 'struts.token'})['value']
print(token)
Когда я просматриваю элементы и сеть через свой браузер, я могу легко найти токен, но при ответе на запрос я не могу. Есть какие-нибудь предложения?
Заранее спасибо 🙂
Комментарии:
1. Похоже, вы пытаетесь выполнить какую-то автоматизацию. Может быть, «Селен» поможет вам в этом вопросе.
2. современные страницы используют JavaScript для добавления элементов (и повторения), но
requests
/beautifulsoup
не могут запускать JavaScript — поэтому сначала отключите JavaScript в браузере и загрузите URL-адрес в браузере, чтобы посмотреть, может ли страница работать без JavaScript. Если он не может работать, то вам может понадобиться Selenium для управления реальным веб — браузером, который может запускать JavaScript3. @furas это какая-либо библиотека запросов, поддерживающая JavaScript? я хочу сделать это без использования селена, только по просьбам, я не знаю, возможно ли это будет.
4. все модули используют
selenium
(напрямую или скрытоheadless mode
) илиWebKit
виджет из фреймворкаQt
(который давным-давно использовался для создания браузеров Safari, Chrome и т.д.). requests_html должен автоматически загружаться и устанавливатьсяChromium
приrender()
создании страницы с JavaScript