首页 > 解决方案 > 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)

当我通过浏览器检查元素和网络时,我可以轻松找到令牌,但在请求响应时却找不到。有什么建议吗?

提前致谢 :)

标签: pythonauthenticationpython-requests

解决方案


如果令牌在您检查 chrome 上的元素时存在但在请求文本中不存在,这意味着您的请求被网站阻止并且它为您提供的 html 页面与您的浏览器获取的内容不同 检查浏览器获取请求您尝试访问的网站并将请求的标头更改为浏览器的标头

许多网站会阻止不包含引荐来源网址和来源标头的请求


推荐阅读