Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengeluarkan Tag HTML dengan Cekap daripada Rentetan dalam 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!