You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Requests进行AJAX网页爬取无法获取表格数据问题排查

问题原因及修复方法

你遇到的问题核心是请求体格式不符合接口要求,具体修改点如下:

  • 原代码中使用data参数传递字典类型的请求载荷,requests会默认将其序列化为表单格式,而该API要求接收JSON格式的请求体
  • 你可以直接使用requests内置的json参数传递载荷,无需手动序列化和添加Content-Type头,框架会自动处理

修正后的代码

import requests

url = 'https://www.assetmanagement.hsbc.de/api/v1/nav/funds'
payload = {"appliedFilters":[[{"active":True,"id":"Yes"}]],"paging":{"fundsPerPage":-1,"currentPage":1},"view":"Documents","searchTerm":[],"selectedValues":[],"pageInformation":{"country":"DE","language":"DE","investorType":"INST","tokenIssue":{"url":"/api/v1/token/issue"},"dataUrl":{"url":"/api/v1/nav/funds","id":"e0FFNDg5MTJELUFEMzEtNEQ5RC04MzA4LTdBQzZERTgyQTc4Rn0="},"shareClassUrl":{"url":"/api/v1/nav/shareclass","id":"ezUxODdjODJiLWY1YmItNDIzOC1hM2Y0LWY5NzZlY2JmMTU3OX0="},"filterUrl":{"url":"/api/v1/nav/filters","id":"ezRFREYxQTU3LTVENkYtNDBDRC1CMjJDLTQ0NDc4Nzc1NTlFQn0="},"presentationUrl":{"url":"/api/v1/nav/presentation","id":"e0E1NEZDODZGLUE5MDctNDUzQi04RTYyLTIxNDNBMEM1MEVGQ30="},"liveDataUrl":{"id":"ezlEMjA2MDk5LUNCRTItNENGMy1BRThBLUM0RTMwMEIzMjlDQ30="},"fundDetailPageUrl":"/de/institutional-investors/fund-centre","forceHttps":True}}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"}

# 这里把data改成json参数
r = requests.post(url, headers=headers, json=payload)
# 先判断请求状态
if r.status_code == 200:
    print(r.json())
else:
    print(f"请求失败,状态码:{r.status_code},返回内容:{r.text}")

后续排查建议

如果修改后依然无法正常获取数据,可以按以下步骤排查:

  • 替换载荷中的id值:你当前复制的各类id是临时会话参数,存在有效期,重新打开浏览器抓包,替换为最新抓包获取的id即可
  • 补充请求头:对比浏览器中该接口的实际请求头,把缺失的Accept、Cookie等必要头字段补充到headers字典中

内容的提问来源于stack exchange,提问作者Imrana Jabeen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:24:02