私はPythonのBeautifulSoupライブラリを使用してページをスクレイプしてきましたが、いくつかの制限があります。私はいつもさまざまな(通常はニュースの)Webサイトをスクレイピングしていて、サイトの概要がどのようなものかを事前に知りません。理想的には、(他の記事にリンクされた見出しではなく)Webサイトからメインテキストを取得するだけの機能が必要です。テキストは通常、Webサイトのタグ内にあることに気付きましたが、<p>
常にそうであるとは限らないため、次の関数を作成しました。
def get_text(html):
soup = BeautifulSoup(html)
text = ""
for node in soup.findAll('p'):
inner_node = node.findAll(text=True)
for inner_text in inner_node:
text += ' ' + inner_text
return text
しかし、それはいつもうまくいくわけではなく、私はしばしばアイテムを見逃します。代わりに使用できる、またはテキストを取得するときに従うべきいくつかのベストプラクティスがすでに作成されているものが存在する必要があると思います。ご指導をよろしくお願いいたします。