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

使用BeautifulSoup与JSON爬取数据结果不符的问题求助

解决纳斯达克存档头条爬取返回当前头条的问题
  • 确认RPC接口的正确参数结构
    你当前的params是空数组[],但存档头条接口BL_NewsListing.GetArchiveHeadlinesPageData需要传入分页信息和日期范围参数。打开浏览器开发者工具(F12),切换到Network标签,访问目标存档页面,找到调用RPCHandler.axd的POST请求,查看它的params内容,会发现类似这样的结构:

    [{"pageNumber":1,"pageSize":25,"startDate":"2024-01-01","endDate":"2024-12-31"}]
    

    空数组会导致接口无法识别存档请求,进而返回默认的当前头条数据。

  • 修正请求的method和参数
    把method改为BL_NewsListing.GetArchiveHeadlinesPageData,同时更新params为包含日期范围和分页的数组。另外建议补充User-Agent到请求头,避免被接口拦截:

    import requests
    from bs4 import BeautifulSoup
    
    headers = {
        "Referer": "http://www.nasdaqtrader.com/Trader.aspx?id=archiveheadlines&cat_id=105",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }
    # 替换为你需要的日期范围和分页参数
    data = {
        "id": 2,
        "cat_id": 105,
        "method": "BL_NewsListing.GetArchiveHeadlinesPageData",
        "params": '[{"pageNumber":1,"pageSize":25,"startDate":"2024-01-01","endDate":"2024-12-31"}]',
        "version": "1.1"
    }
    url = "https://www.nasdaqtrader.com/RPCHandler.axd"
    req = requests.post(url, json=data, headers=headers)
    result = req.json()['result']
    soup = BeautifulSoup(result, 'html.parser')
    table = soup.find('table')
    
    print(table)
    
  • 验证接口响应
    发送请求后,检查req.json()的返回内容,如果result中的HTML是存档页面的表格,说明参数配置正确。如果仍有问题,检查开发者工具中的请求是否包含其他隐藏参数,或者确认cat_id=105是否对应你需要的分类(该ID对应IPO相关存档头条,需与目标页面的分类一致)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 15:22:48