从SEC EDGAR文件中刮取营业收入时无

2024-04-29 04:24:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图通过季度填写获得最近一个季度的营业收入/亏损

以绿色突出显示的所需输出:financial statement

下面是我试图抓取的文档的URL:https://www.sec.gov/ix?doc=/Archives/edgar/data/320193/000032019319000076/a10-qq320196292019.htm

如果您想直观地看到数据点,请参见第一部分第1项。财务报表、营业收入

我试图获取的图形的HTML代码:

<ix:nonfraction id="fact-identifier-125" name="us-gaap:OperatingIncomeLoss" contextref="FD2019Q3QTD" unitref="usd" decimals="-6" scale="6" format="ixt:numdotdecimal" data-original-id="d305292495e1903-wk-Fact-6250FB76089207E7F73CB52756E0D8D0" continued-taxonomy="false" enabled-taxonomy="true" highlight-taxonomy="false" selected-taxonomy="false" hover-taxonomy="false" onclick="Taxonomies.clickEvent(event, this)" onkeyup="Taxonomies.clickEvent(event, this)" onmouseenter="Taxonomies.enterElement(event, this);" onmouseleave="Taxonomies.leaveElement(event, this);" tabindex="18" isadditionalitemsonly="false">11,544</ix:nonfraction>

我用于获取此数据点(11544)的代码:

from bs4 import BeautifulSoup
import requests

url = 'https://www.sec.gov/ix?doc=/Archives/edgar/data/320193/000032019319000076/a10-qq320196292019.htm'

response = requests.get(url)
content = BeautifulSoup(response.content, 'html.parser')

operatingincomeloss = content.find('ix:nonfraction', attrs={"name": "us-gaap:OperatingIncomeLoss", "contextref":"FD2019Q3QTD"})

print (operatingincomeloss)

我也试过了

operatingincomeloss = content.find('ix:nonfraction', attrs={"name": "us-gaap:OperatingIncomeLoss"}

最后,我想循环通过所有相关的填充来提取这个数据点。目前,我一个也没有。当我在内容中按CTRl+F组合键时,我也找不到ix:nonfraction标记


Tags: 数据nameeventfalsedatacontentthistaxonomy
2条回答

正如@aԋɱҽԃaєιcαη所说,页面是通过^{加载的。 我已经对这段代码使用了xhr请求

考虑到您使用的属性,我只使用了name属性,因为每个元素的contextref都发生了变化

如果要循环其他元素,还可以更改name属性

正如您所说,您希望循环遍历这个标记,我已经在下面的代码中打印了返回的所有输出

代码:

import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.sec.gov/Archives/edgar/data/320193/000032019319000076/a10-qq320196292019.htm')
soup = BeautifulSoup(res.text, 'html.parser')
for data in soup.find_all('ix:nonfraction', {'name': 'us-gaap:OperatingIncomeLoss'}):
    print(data.text)

输出:

11,544
12,612
48,305
54,780
7,442
7,496
26,329
26,580
3,687
3,892
14,371
15,044
3,221
3,414
12,142
15,285
1,795
1,765
7,199
7,193
1,155
1,127
4,811
4,980
17,300
17,694
64,852
69,082
11,544
12,612
48,305
54,780

页面是通过JavaScript加载的,我已经附加了XHR请求并提取了所需的数据

import requests
from bs4 import BeautifulSoup

r = requests.get(
    "https://www.sec.gov/Archives/edgar/data/320193/000032019319000076/a10-qq320196292019.htm")

soup = BeautifulSoup(r.text, 'html.parser')

for item in soup.select("#d305292495e1903-wk-Fact-6250FB76089207E7F73CB52756E0D8D0"):
    print(item.text)

输出:

11,544

更新:

import requests
from bs4 import BeautifulSoup

r = requests.get(
    "https://www.sec.gov/Archives/edgar/data/320193/000032019319000076/a10-qq320196292019.htm")

soup = BeautifulSoup(r.text, 'html.parser')

for item in soup.findAll("ix:nonfraction", {'contextref': 'FD2019Q3QTD', 'name': 'us-gaap:OperatingIncomeLoss'}):
    print(item.text)

相关问题 更多 >