python - 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)
当我通过浏览器检查元素和网络时,我可以轻松找到令牌,但在请求响应时却找不到。有什么建议吗?
提前致谢 :)
解决方案
如果令牌在您检查 chrome 上的元素时存在但在请求文本中不存在,这意味着您的请求被网站阻止并且它为您提供的 html 页面与您的浏览器获取的内容不同 检查浏览器获取请求您尝试访问的网站并将请求的标头更改为浏览器的标头
许多网站会阻止不包含引荐来源网址和来源标头的请求
推荐阅读
- java - 如何从列表列表中提取每个值并制作具有不同子列表值的单个列表
- quarkus - Quarkus Rest 服务堆内存在没有任何请求的情况下增长
- c - Visual Studio 代码中不正确的错误曲线
- airflow - 无法从 airflow.www.views 导入名称 dagbag
- c# - ASP.NET Core (.NET 5) 中 GetUnobtrusiveValidationAttributes 的等价物是什么?
- python - 为什么在预分配和用户输入变量期间字符串标签(id)和整数标签(id)之间的标签分配存在差异
- mysql - 如何在mysql中联合后获取最小值?
- firebase - 如何使用 Flutter 处理 FCM subscribeToTopic 和 unsubscribeFromTopic
- node.js - 供浏览器和节点使用的反应组件包(反应挂钩问题)
- scheme - 球拍:如何对点分隔的数字进行排序