用python从SEC EDGAR API访问归档数据



我想从SEC EDGAR API中提取报告并在python中进行分析。据我所知,看起来主要问题是我使用了错误的文件格式,但我发现转换为HTML的方法不起作用。

我在python方面的经验有限,使用RESTful API的经验更少。我在美国证券交易委员会的网站上找到了一些API的资源,但我不能理解它的意义。

我也尝试将响应打印到数据帧中,但我得到了403响应

这是我的代码:

import requests
import pandas as pd
import numpy as np
ticker = "AAPL"
start_date = "2022-01-01"
end_date = "2020-12-31"

sec_url = "https://www.sec.gov/cgi-bin/browse-edgar"
sec_params = {
"action": "getcompany",
"CIK": ticker,
"type": "10-k",
"dateb": start_date,
"owner": "exclude",
"count": 100
}
sec_response = requests.get(sec_url, params=sec_params)
sec_data = sec_response.json()

我收到的错误是JSONDecodeError

问题是返回的响应不是JSON,它是一个包含错误的HTML页面。(您可以使用sec_response.text检查返回的响应)。

在你的情况下,SEC要求你在请求的USER-AGENT中包括你的公司/电子邮件。(看到)

USER-AGENT应该包含在请求的头中。查看如何检查这个StackOverflow问题:

...
headers = {
'User-Agent': 'Sample Company Name AdminContact@<sample company domain>.com'
}
...
sec_response = requests.get(sec_url, params=sec_params, headers=headers)

相关内容

  • 没有找到相关文章

最新更新