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

如何获取雪球美股财务数据接口URL返回的JSON数据?

问题原因

这个接口触发了雪球的访问权限校验,必须先访问对应个股的详情页,获取平台下发的有效cookies后,再请求接口才能正常拿到数据,直接访问接口会被拦截。

解决方法

方法1:使用requests库实现

流程为先请求个股详情页拿到有效cookies,再携带cookies和完整请求头调用目标接口,示例代码如下:

import requests

# 先初始化会话,自动保存cookies
session = requests.Session()
# 设置统一的请求头,尽量和浏览器保持一致
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",
    "Referer": "https://xueqiu.com/"
}
session.headers.update(headers)

# 第一步:先访问个股详情页,获取有效cookies
detail_url = "https://xueqiu.com/snowman/S/ASX/detail#/GSLRB"
session.get(detail_url)

# 第二步:携带会话中的cookies请求目标接口
target_url = "https://stock.xueqiu.com/v5/stock/finance/us/income.json?symbol=ASX&type=all&is_detail=true&count=5"
resp = session.get(target_url)
# 打印返回的JSON数据
print(resp.json())

方法2:使用selenium库实现

按照测试的逻辑,先访问详情页等待cookies生成,再跳转接口地址即可,示例代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

options = webdriver.ChromeOptions()
# 可加无头模式参数后台运行
# options.add_argument("--headless=new")
options.add_argument("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")
browser = webdriver.Chrome(options=options)

try:
    # 先访问详情页,等待2秒让cookies下发完成
    detail_url = "https://xueqiu.com/snowman/S/ASX/detail#/GSLRB"
    browser.get(detail_url)
    time.sleep(2)
    
    # 再跳转目标接口地址
    target_url = "https://stock.xueqiu.com/v5/stock/finance/us/income.json?symbol=ASX&type=all&is_detail=true&count=5"
    browser.get(target_url)
    print(browser.page_source)
finally:
    browser.quit()

注意事项

  • 请求频率不要过高,避免触发平台的反爬封禁
  • User-Agent尽量和本地浏览器的UA保持一致,降低被识别的概率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:06