Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengeluarkan Tag HTML dengan Cekap daripada Rentetan dalam Python?

Bagaimanakah Saya Boleh Mengeluarkan Tag HTML dengan Cekap daripada Rentetan dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-12-06 22:47:11310semak imbas

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

Melucutkan Tag HTML daripada Strings dalam Python

Dalam Python, terdapat pelbagai senario di mana anda mungkin perlu mengalih keluar tag HTML daripada rentetan ke mengekstrak kandungannya. Mari kita terokai penyelesaian kepada masalah ini.

Andaikan anda mendapatkan semula kandungan HTML menggunakan pustaka mekanis, seperti yang ditunjukkan dalam coretan contoh. Setiap baris kandungan mengandungi tag HTML dan teks. Untuk mengekstrak teks sahaja, kita perlu menanggalkan tag.

Satu pilihan ialah menggunakan fungsi tersuai untuk melaksanakan tugas ini. Fungsi strip_tags menggunakan kelas HTMLParser untuk mencipta penghurai yang memproses kandungan HTML. Penghurai hanya mengekstrak data dalam teg dan mengumpulkannya dalam objek StringIO.

Berikut ialah coretan kod untuk 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()

Untuk Python 2, gunakan kod berikut:

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()

Dengan menghantar kandungan HTML ke fungsi ini, anda boleh mengalih keluar tag dengan berkesan dan mengekalkan hanya kandungan teks.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Tag HTML dengan Cekap daripada Rentetan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn