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

如何使用Python爬取SEC EDGAR 10-K动态XBRL业务分部销售表格

问题根因
  • 现有代码仅请求了EDGAR的公司申报搜索结果页,没有实际请求目标10-K的文档地址
  • 你提到的https://www.sec.gov/ix?doc=/Archives/xxx是交互式XBRL渲染页,核心数据由前端JS动态生成,直接用requests拉取静态HTML无法拿到动态加载的dynamic-xbrl-form节点内容,直接请求ix?doc=后缀的原始HTML文档地址即可解决该问题
  • SEC有反爬机制,未携带合法User-Agent的请求会被403拦截,无法获取正确的页面内容
可行实现代码
from bs4 import BeautifulSoup
import requests

# 必须配置合法User-Agent,否则会被SEC拦截
HEADERS = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}

# 第一步:获取搜索页内容,定位目标10-K的文档入口
cik = '200406'
doc_type = '10-K'
dateb = '20210704'
base_url = "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK={}&type={}&dateb={}"

search_resp = requests.get(base_url.format(cik, doc_type, dateb), headers=HEADERS)
search_soup = BeautifulSoup(search_resp.text, 'html.parser')

# 定位10-K对应的documents按钮跳转链接
doc_list_link = search_soup.find(id='documentsbutton')['href']
doc_list_url = f"https://www.sec.gov{doc_list_link}"

# 第二步:进入文档列表页,获取10-K的原始HTML地址
doc_list_resp = requests.get(doc_list_url, headers=HEADERS)
doc_list_soup = BeautifulSoup(doc_list_resp.text, 'html.parser')
# 原始10-K文档在文件表格的第二行
raw_doc_link = doc_list_soup.find('table', class_='tableFile').find_all('tr')[1].find('a')['href']
raw_doc_url = f"https://www.sec.gov{raw_doc_link}"

# 第三步:请求原始HTML,提取目标表格
raw_resp = requests.get(raw_doc_url, headers=HEADERS)
raw_soup = BeautifulSoup(raw_resp.text, 'html.parser')

# 按表格内文本匹配定位「Sales By Segment Of Business」表格
target_table = None
for table in raw_soup.find_all('table'):
    if 'Sales By Segment Of Business' in table.get_text(strip=True):
        target_table = table
        break

# 输出结果
if target_table:
    # 可按需将表格转换为DataFrame、CSV等格式
    print(target_table.prettify())
else:
    print("未找到目标业务分部销售额表格")
优化建议

如果需要更高的定位准确率,可以配合XBRL标签属性筛选,或者匹配表格内的固定字段(如Segment、Net Sales等关键字)减少误判。批量处理10-K文件时,可直接调用成熟的EDGAR解析工具简化流程。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:27:04