私は、SECのEDGARシステム上の10-Kレポート(会社のプロキシレポートなど)から、PythonのBeautifulSoupまたはHTMLParserを使用してテキスト情報のみを抽出しようとしています。しかし、私が使用しているパーサは、無意味な看板やタグの大部分、xbrlの情報など、txt形式のファイルにはうまくいきません。全く必要ではありません。しかし、意味のないタグの問題から多かれ少なかれ「htm」形式のファイルにパーサを直接適用すると、パーサーは比較的うまく動作しているようです。HTMLファイルから不要なタグと記号をすべて削除するにはどうすればよいですか?
"""for Python 3, from urllib.request import urlopen"""
from urllib2 import urlopen
from bs4 import BeautifulSoup
"""for extracting text data only from txt format"""
txt = urlopen("https://www.sec.gov/Archives/edgar/data/1660156/000166015616000019/0001660156-16-000019.txt")
bs_txt = BeautifulSoup(txt.read())
bs_txt_text = bs_txt.get_text()
len(bs_txt_text) # 400051
"""for extracting text data only from htm format"""
html = urlopen("https://www.sec.gov/Archives/edgar/data/1660156/000166015616000019/f201510kzec2_10k.htm")
bs_html = BeautifulSoup(html.read())
bs_html_text = bs_html.get_text()
len(bs_html_text) # 98042
しかし、問題は私の質問があるので、私は、HTM 『もの「ではない上、txt'形式のファイル』に依存する立場にいるで、すべての無意味な兆候を取り除くに対処する方法はありますファイルからタグを抽出し、 'htm'ファイルから直接抽出したテキスト情報のみを抽出しますか?私はPythonを使ってパースするのは比較的新しいので、これについて何か考えているなら、大きな助けになるでしょう。前もって感謝します!
これらのファイル( '.txt'と' .htm'の両方)は、HTML文書を内部に埋め込んだSGMLベースのものです。 '.txt'には多くのHTML文書が埋め込まれているようですが、' .htm'には1つしかありません。 HTMLパーサーの代わりにSGMLパーサーを試してみるとよいでしょう。 – user2357112
または...明らかに、それはSGMLベースではなくXMLベースであると思われますか?開始点の近くに「.sgml」と書かれている部分はありますが、[はっきりとXMLです](https://en.wikipedia.org/wiki/XBRL)です。 – user2357112
これをXMLパーサーで解析してみてください。 – user2357112