私はScrapyを使用して、ニュースサイトからニュース記事のテキストを抽出しています。私は<p>
タグ内のすべてのテキストが実際の記事であると仮定しています。 (どちらが必ずしも安全な仮定ではありませんが、それは私が働いているものです)<p>
タグのすべてを見つけることのように、Scrapyは、私はCSSセレクタを使用することができます:任意のネストされたHTMLからすべてのテキストを抽出します
response.css("p::text")
問題は、一部のニュースですサイトはそのように、自分の記事でマークアップの多くを置くのが好き:それはでの結果であるので
<p>
Senator <a href="/people/senator_whats_their_name">What's-their-name</a> is <em>furious</em> about politics!
</p>
は、テキストを抽出し、すべての書式を削除するために、CSSセレクタ、あるいはScrapy内のいくつかの簡単な方法がありますこのようなもの?
<p>
<span class="some-annoying-markup"><a href="who cares"><em>Wow this link must be important </em></a></span>
<p>
そして、私はまだ
Wow this link must be important
が、私はこれがあることを理解してテキストを抽出したい:
Senator What's-their-name is furious about politics!
問題は、これらのタグは、理論的には、任意に入れ子にすることができることですHTMLページからコンテンツを抽出するためのかなり簡単な方法ですが、これはこの質問の範囲外です。これを達成するためのより簡単な方法がある場合は、私は提案をしますが、このトピックで見つかったことは、ここに示したものよりもはるかに複雑であるように見えます。私は提示した。