首頁 > 後端開發 > Python教學 > 如何在Python中高效地去除字串中的HTML標籤?

如何在Python中高效地去除字串中的HTML標籤?

Patricia Arquette
發布: 2024-12-06 22:47:11
原創
309 人瀏覽過

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

在Python 中從字串中剝離HTML 標籤

在Python 中,有多種情況下您可能需要從字串中刪除HTML 標籤以提取其內容。讓我們探討這個問題的解決方案。

假設您使用 mechanize 庫檢索 HTML 內容,如範例程式碼段所示。內容的每一行都包含 HTML 標籤和文字。要僅提取文本,我們需要剝離標籤。

一種選擇是使用自訂函數來執行此任務。函數 strip_tags 利用 HTMLParser 類別建立一個處理 HTML 內容的解析器。解析器僅提取標籤內的資料並將其累積在 StringIO 物件中。

以下是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()
登入後複製

對於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 內容傳遞給此函數,可以有效地刪除標籤並僅保留文字內容。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板