Python从搜索中获取请求并检索数据

问题描述 投票:0回答:1

我正在尝试使用请求模块从这个网站检索数据:https://toelatingen.ctgb.nl/

我想在“11462”中输入“Zoekterm”字段时收到找到的数据。

data = { "searchTerm": "11462"}
session = requests.Session()
r = session.post('https://toelatingen.ctgb.nl/',data=data)

body_data = r.text

遗憾的是,body_data的内容不包含搜索到的信息。

谢谢你的帮助。

python search python-requests
1个回答
0
投票

您没有收到响应数据的原因是因为该网站没有在该网址上进行搜索。相反,它打电话给https://toelatingen.ctgb.nl/nl/admissions/overview

当您尝试从互联网上获取信息时,您要做的第一件事就是检查您的Web浏览器如何获取数据。如果您打开所选浏览器附带的任何检查工具(通常热键是ctrl + shift + i),您应该能够找到一个跟踪浏览器发出的请求和响应的网络选项卡。打开后,让浏览器显示所需信息,并在执行此操作时观看“网络”选项卡。检查出现的任何响应,找到具有所需信息的响应,然后复制浏览器使用的请求。

在你的情况下:

  • 根页面首先从https://toelatingen.ctgb.nl/加载一个空页面
  • 然后加载一堆静态文件(主要是woff和js;这些文件用于设置网页样式并处理不同的操作)
  • 然后它打电话给https://toelatingen.ctgb.nl/nl/admissions/overview。我们可以非常肯定这是我们此时想要的调用,因为响应是一个json,其中包含我们在屏幕上显示的信息。
  • 然后,我们将所有信息 - 标题和表单,行 - 来自该请求,插入,并查看requests模块是否返回相同的json。
  • 如果没有那么那很可能意味着我们错过了一些东西(通常是CSRF令牌或特殊的Accept-Encoding),我们需要做一些修补。
  • 我还建议花一点时间来删除部分请求数据/标题:大多数时候它们包含服务器实际上不需要的额外条款。这样可以节省空间,让您更好地了解可以更改的请求的哪些部分。
© www.soinside.com 2019 - 2024. All rights reserved.