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

如何抓取动态加载JSON内容的网站?以NSE公告页为例

解决NSE印度国家证券交易所公告爬虫API被限制的问题

针对你遇到的API调用几次后返回"Resource not found"的问题,以下是实际可落地的解决思路:

1. 先建立有效会话,携带必要Cookie

NSE的API依赖主页面设置的会话Cookie(如NSC_*系列),直接调用API会因为缺少会话标识被拦截。步骤:

  • 先请求目标主页面https://www.nseindia.com/companies-listing/corporate-filings-announcements,获取并保存响应中的Cookie
  • 后续所有API请求都携带这些Cookie,同时确保请求头包含Referer: https://www.nseindia.com/和真实的浏览器User-Agent

示例代码(Python requests):

import requests
import time

session = requests.Session()
# 先获取会话Cookie
session.get("https://www.nseindia.com/companies-listing/corporate-filings-announcements", 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"
})
# 调用API时复用会话
api_url = "你的API接口地址"
response = session.get(api_url, headers={
    "Referer": "https://www.nseindia.com/",
    "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"
})
print(response.json())

2. 提取API的动态验证参数

NSE部分API会要求动态生成的参数(如timestamp、加密签名),这些参数通常隐藏在页面的JS代码或HTML元素中:

  • 打开浏览器开发者工具,查看页面加载时的API请求,对比不同请求的参数差异
  • 从页面源码中查找生成这些参数的JS逻辑,或者直接提取页面中已生成的参数值(比如通过正则匹配页面中的token)

3. 严格控制请求频率

反爬系统会检测短时间内的高频请求,直接限制访问:

  • 每次API请求后添加随机延迟(2-5秒),避免连续请求
  • 不要一次性请求大量数据,分批次抓取,模拟人类浏览的节奏

4. 备选方案:用无头浏览器渲染页面

如果API反爬逻辑过于复杂,直接模拟浏览器渲染获取静态表格内容:

  • 使用Playwright或Selenium打开目标页面,等待表格加载完成后直接提取HTML表格数据
  • 示例(Playwright Python):
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page(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")
    page.goto("https://www.nseindia.com/companies-listing/corporate-filings-announcements")
    page.wait_for_selector("table")  # 等待表格加载
    table_html = page.inner_html("table")
    # 后续解析table_html即可
    browser.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:22:41