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

如何从Quantalys网站抓取‘Encours des parts référencées’8年数据?

解决Quantalys网站图表数据获取问题

一、数据位置分析

这类动态加载的图表数据,不会直接出现在网页源代码中,一般是通过**AJAX接口(API)**返回JSON格式数据。你可以通过浏览器开发者工具抓包定位:

  • 打开目标网页,按F12进入开发者工具
  • 切换到「Network」标签,刷新页面
  • 在筛选栏输入json或关键词(比如encours、part),找到返回图表数据的请求
  • 查看该请求的URL、请求头(尤其是Cookie、User-Agent这类验证信息)和参数

二、获取方法步骤

  1. 抓包确认API接口:通过开发者工具找到返回「Encours des parts référencées」数据的接口,这类接口通常会包含时间范围参数(比如period=8Y或类似字段)
  2. 模拟请求:用requests库模拟浏览器发送请求,带上必要的请求头避免被反爬
  3. 解析JSON数据:将返回的JSON数据转换成pandas.DataFrame方便后续处理

三、代码示例

假设抓包后找到的API接口是对应目标页面的真实接口(实际以抓包结果为准),示例代码如下:

import requests
import pandas as pd
import json

# 替换为你抓包得到的真实API URL
api_url = "https://www.quantalys.com/api/your-target-endpoint"

# 请求头,从浏览器开发者工具复制(至少包含User-Agent,登录后需带上Cookie)
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
    "Cookie": "your-cookie-from-browser"  # 登录后复制浏览器中的Cookie字段,部分接口需身份验证
}

# 请求参数,根据抓包结果调整,比如设置8年时间范围、对应页面ID
params = {
    "period": "8Y",
    "id": "518"
}

# 发送请求并检查状态
response = requests.get(api_url, headers=headers, params=params)
response.raise_for_status()

# 解析JSON数据
data = response.json()

# 提取图表数据(实际结构以返回的JSON为准,此处为示例)
df = pd.DataFrame(data['series'][0]['data'], columns=['日期', 'Encours des parts référencées'])

# 处理日期格式(如果需要)
df['日期'] = pd.to_datetime(df['日期'])

print(df.head())

四、注意事项

  • Cookie验证:该网站可能需要登录后才能获取完整数据,需从登录状态的浏览器复制Cookie字段到请求头
  • 反爬机制:若请求被拒绝,可添加Referer等更多请求头,或设置请求间隔避免被拦截
  • 数据结构适配:实际返回的JSON结构可能与示例不同,需根据抓包得到的内容调整解析代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:47:36