首頁 >後端開發 >Python教學 >如何在 Python 中有效率地從字串中移除 HTML 標籤?

如何在 Python 中有效率地從字串中移除 HTML 標籤?

Susan Sarandon
Susan Sarandon原創
2024-12-28 22:26:10923瀏覽

How Can I Efficiently Strip HTML Tags from Strings in Python?

在Python 中從字串中剝離HTML

與HTML 內容互動時,通常需要將有意義的文字與標記標籤分開進一步處理或分析。以下是如何在 Python 中有效實現此目的。

要從字串中剝離 HTML 標籤,請使用 Python 標準函式庫中的 HTMLParser。此解析器提供了一種簡單的方法來解析 HTML 文件並僅提取所需的內容。

對於Python 3,請使用以下程式碼:

from io import StringIO
from html.parser import HTMLParser

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

def strip_html(html):
    stripper = TagStripper()
    stripper.feed(html)
    return stripper.get_data()

對於Python 2,請使用以下程式碼:

from HTMLParser import HTMLParser
from StringIO import StringIO

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

def strip_html(html):
    stripper = TagStripper()
    stripper.feed(html)
    return stripper.get_data()

現在我們來說明它的用法:

html = "<p>Hello, <em>world</em>!</p>"
stripped_text = strip_html(html)
print(stripped_text)  # Output: Hello, world!

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

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