次のようなファイルを解析しようとしています: http ://www.sec.gov/Archives/edgar/data/1409896/000118143112051484/0001181431-12-051484.hdr.sgml
Python 3を使用していますが、オープンタグを使用してSGMLファイルを解析するための既存のライブラリを使用したソリューションを見つけることができませんでした。SGMLは、暗黙的に閉じられたタグを許可します。LXML、XML、または美しいスープを使用してサンプルファイルを解析しようとすると、行末ではなくファイルの末尾で暗黙的に閉じられたタグが閉じられてしまいます。
例えば:
<COMPANY>Awesome Corp
<FORM> 24-7
<ADDRESS>
<STREET>101 PARSNIP LN
<ZIP>31337
</ADDRESS>
これは最終的に次のように解釈されます。
<COMPANY>Awesome Corp
<FORM> 24-7
<ADDRESS>
<STREET>101 PARSNIP LN
<ZIP>31337
</ADDRESS>
</ZIP>
</STREET>
</FORM>
</COMPANY>
ただし、次のように解釈する必要があります。
<COMPANY>Awesome Corp</COMPANY>
<FORM> 24-7</FORM>
<ADDRESS>
<STREET>101 PARSNIP LN</STREET>
<ZIP>31337</ZIP>
</ADDRESS>
これを処理できるLXML/BS4に渡すデフォルト以外のパーサーがある場合、私はそれを見逃しています。