Python を使用した HTML からのプレーン テキストの抽出
HTML ファイルからテキスト コンテンツを取得するには、堅牢性を考慮することが重要です。 HTML エンティティを正しく効果的に処理するメソッド。正規表現を使用したソリューションには限界があるかもしれませんが、Beautiful Soup のようなライブラリはより洗練されたオプションを提供します。ただし、不要なテキストのキャプチャとエンティティの解釈に関する問題は残ります。
Beautiful Soup: 注意事項のある強力なツール
Beautiful Soup は HTML 解析によく使われますが、 JavaScript ソースなどの追加要素を取得し、HTML エンティティの解釈に失敗する可能性があります。たとえば、シーケンス 'ソース コード内の は、抽出されたテキストではアポストロフィに変換されません。
html2text の入力: 有望な解決策
現在、html2text が有力なオプションとして浮上しています。 HTML エンティティを簡単に処理し、JavaScript などの不必要なコンテンツを無視します。プレーン テキストの代わりにマークダウンを出力しますが、これは簡単に変換できます。
堅牢でカスタマイズ可能なアプローチ
次のコード スニペットは Beautiful Soup を活用し、制御を強化しています。抽出プロセス:
from urllib.request import urlopen from bs4 import BeautifulSoup url = "http://news.bbc.co.uk/2/hi/health/2284783.stm" html = urlopen(url).read() soup = BeautifulSoup(html, features="html.parser") # Remove unwanted elements like scripts and styles for script in soup(["script", "style"]): script.extract() # Extract the text content text = soup.get_text() # Preprocess the text for improved readability lines = (line.strip() for line in text.splitlines()) chunks = (phrase.strip() for line in lines for phrase in line.split(" ")) text = '\n'.join(chunk for chunk in chunks if chunk) print(text)
このアプローチを採用すると、必要なコンテンツと不要なコンテンツの両方を処理しながら、プレーン テキストを効果的に抽出できます。あなたの要件に応じて。
以上がPython はどのようにして HTML からプレーン テキストを効率的に抽出し、エンティティや不要なコンテンツを処理できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。