首頁 >後端開發 >Python教學 >如何在Python中高效率地從HTML字串中提取文字內容?

如何在Python中高效率地從HTML字串中提取文字內容?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-05 07:41:09811瀏覽

How Can I Efficiently Extract Text Content from HTML Strings in Python?

在Python 中從HTML 字串中提取內容

在Python 中處理HTML 資料時,通常需要去除格式標籤並保留僅文字內容。這種簡化的資料視圖對於總結文字、執行自然語言處理和其他任務非常有用。

在 Python 中實現此目的的一種方法是透過 MLStripper 類,它利用 Python 的內建 HTML 解析器。

# For Python 3+
from io import StringIO
from html.parser import HTMLParser

class MLStripper(HTMLParser):
    def __init__(self):
        super().__init__()
        self.reset()
        self.strict = False
        self.convert_charrefs= True
        self.text = StringIO()
    def handle_data(self, d):
        self.text.write(d)
    def get_data(self):
        return self.text.getvalue()

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()
# For Python 2
from HTMLParser import HTMLParser
from StringIO import StringIO

class MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.text = StringIO()
    def handle_data(self, d):
        self.text.write(d)
    def get_data(self):
        return self.text.getvalue()

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

透過將HTML 內容傳遞給strip_tags 函數,您可以輕鬆地只提取HTML 的文字部分HTML:

cleaned_content = strip_tags("<b>Hello</b> world")
# Prints "Hello world"

MLStripper 類別和strip_tag_tags 函數提供了一個標籤種在Python 中處理HTML 內容的便利方法,讓您可以專注於文字內容,而不受格式化標籤的干擾。

以上是如何在Python中高效率地從HTML字串中提取文字內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn