python - 无法在响应中可视化元素值(python 请求)
问题描述
我正在抓取网页,但我在最后一步真的很累。问题是在浏览器中我可以看到元素及其值。这是浏览器中的代码,如您所见,sessionId 元素值显示在浏览器中。但是当我将 python 与 get 请求一起使用时,我可以看到除该元素之外的每个元素及其值。
<input type="hidden" name="csrf_token" value="mjf1dtjVyE6RWzwN56p5HfXWJDBwsWyAOvU0i4aCxOjm2ZXlUNYR_LeGUQ7HLuiTrLE1DdGUv6qmUP8e6Zf4C-MMyJITyERblm63DTOwdJRcLJTR5dzm4E5v3yusDi9TLGbDp670GvJOZhOU9dJEgeXbl2352wu4SsdOeMWaQ1WZmsJ9QJw=">
<input type="hidden" name="sessionId" data-savepayment-session-id="" value="2cdd73d7-a479-40dc-bcf7-5eeeaf3aee3c">
这是我的python代码:
form = soup.find("form",{"class":"submit-order"})
link = form.get('action')
token = form.find("input",{"name":"csrf_token"}).get('value')
session_id = form.find("input",{"name":"sessionId"}).get('value')
inputs = form.findAll('input')
print(inputs)
这是我的 python 代码的输出:
[<input name="csrf_token" type="hidden" value="_tbpVfO-tGp7YRuZorQ2RzlQuAnUV7bmKwrcyXXa4_VxFJ5eFHHVmcu81RS6ZOZ7ROJiGRwS6eb_aWZ0qFyhhrKbfRdKdq5C9TWbk-i2r9UBcgInm8qwCOOpZ99yxIJQy79xMcfZ_OHdrQGmlFNWXUtn781zBN59LO_opzkFWxlO0OFQtfc="/>,
<input data-savepayment-session-id="" name="sessionId" type="hidden" value=""/>]
如您所见, sessionId 的值为空您能帮帮我吗?我不明白为什么我可以在浏览器中看到值,而不是在我的代码中。当然,我正在使用 request.session() 以及标题和帖子。
这是一个帖子的例子
post2 = session.post(link, data=payload, headers = headers)
解决方案
推荐阅读
- r - CVXR:无法识别凸函数
- jupyter-notebook - 如何从当前笔记本中的另一个笔记本执行单元格 1
- c++ - 无法使用 platformio 在库中包含 i2s.h
- c++ - 在 C++ 中覆盖 == 运算符
- docker - 如何使用 kubernetes 启动停止的容器?
- terraform - 在 Terraform 远程后端使用变量
- regex - 正则表达式查找某些字符之间的匹配并包含特定字符
- c++ - cmake target_link_libraries() 无法通过 set_target_properties(archive_output_name) 找到重命名的 lib 目标
- javascript - JavaScript 在本地设置时无法正常运行
- .net-core - 如何在 .NET Core 中实现进程间通信?