我试图从sec.gov
解析SEC公司的文件。从fb 10-Q index.htm开始,让我们看看完整的文本提交文件,就像完整的提交文本文件一样。它的结构类似于:
<SEC-DOCUMENT>
<SEC-HEADER>
<ACCEPTANCE-DATETIME>"some content" This tag is not closed.
"some lines resembling yaml markup"
These are indented lines with a
"key": "value" structure.
</SEC-HEADER>
<DOCUMENT>
.
.
some content
.
.
</DOCUMENT>
"several DOCUMENT tags" ...
</SEC-DOCUMENT>
我试图弄清楚<SEC-HEADER>
标签的结构,并在公共传播下找到了一些信息服务(PDS(技术规范(pdf(,并得出结论,标题的内容应为SGML。
尽管如此,我对格式一无所知,因为没有尖括号,键值对用冒号分隔,比如key: value
而不是<key>value</key>
。在pdf链接中,我找不到任何关于冒号的信息。
问题:<SEC-HEADER>
标记是否有效SGML?如果是,如何解析
如果有人帮忙,我会很高兴的。
简短的答案是否定的。原始文件中的<SEC-HEADER>
标记不是有效的SGML。
然而,据我所知,原始文件中的这一部分是从头文件<accession_num>.hdr.sgml
自动解析的,它确实遵循SGML。该头文件可以在与原始文件(即<accession_num>.txt
文件(相同的目录中找到。
我使用形式为^<(.+?)>(.+?)$
的REGEX(带有re.MULTLINE选项(来捕获每个(标记、值(元组,并直接在dict((中获得结果。我相信该文件中唯一有结束标记的标记是</FILER>
标记,其中每个文件中可能有多个filer。您可以首先使用形式为<FILER>(.+?)</FILER>
的REGEX提取这些文件,然后使用与上面相同的REGEX来获取每个文件器的内部标记。
请注意,除了"FILER",还可以有其他标记,表示实体与备案的不同关系。这些是"发卡行"、"主题公司"、"备案人"、"为"、"序列公司"one_answers"报告所有人"。