Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk mengalih keluar tag HTML menggunakan ungkapan biasa Python

Bagaimana untuk mengalih keluar tag HTML menggunakan ungkapan biasa Python

王林
Lepaskan: 2023-06-22 08:44:10
asal
2293 orang telah melayarinya

HTML (HyperText Markup Language) ialah bahasa standard untuk mencipta halaman Web Ia menggunakan tag dan atribut untuk menerangkan pelbagai elemen pada halaman, seperti teks, imej, jadual, pautan, dll. Walau bagaimanapun, apabila memproses teks HTML, sukar untuk mengekstrak kandungan teks dengan cepat untuk pemprosesan seterusnya. Pada masa ini, kita boleh menggunakan ungkapan biasa dalam Python untuk mengalih keluar teg HTML untuk mengekstrak teks biasa dengan cepat.

Dalam Python, modul ungkapan biasa ialah semula. Apabila mengalih keluar teg HTML, kami boleh menggunakan fungsi re.sub() untuk menggantikan teg HTML dengan ruang atau aksara lain untuk mendapatkan kandungan teks biasa. Berikut ialah langkah pelaksanaan khusus:

1 Dapatkan kandungan teks HTML
Pertama, kita perlu membaca kandungan teks HTML dari halaman web atau fail lain. Dengan mengandaikan bahawa kami telah menyimpan fail HTML dalam folder dan mengetahui laluannya, kami boleh menggunakan fungsi operasi fail open(), read(), dan close() dalam Python untuk membaca kandungan fail HTML.

# 打开文件并读取HTML文本内容
file_path = 'path/to/html/file.html'
with open(file_path, 'r') as f:
    html_text = f.read()
Salin selepas log masuk

2. Bina corak ungkapan biasa
Kita perlu terlebih dahulu membina corak ungkapan biasa untuk memadankan semua teg HTML dan kandungannya. Berikut ialah corak ringkas:

pattern = r'<[^>]+>'
Salin selepas log masuk

Dalam corak ini, "<" bermaksud memadankan permulaan teg, "1+" bermaksud memadankan permulaan daripada tag Semuanya sehingga ">" tanda penutup. Oleh itu, keseluruhan corak mengalih keluar segala-galanya di antara sepasang kurungan sudut, termasuk kurungan sudut itu sendiri. Walau bagaimanapun, model ini masih mempunyai beberapa had Sebagai contoh, ia tidak boleh mengendalikan teg atau ulasan bersarang, dan perlu diubah suai atau dinaik taraf mengikut keperluan.

3. Gunakan ungkapan biasa untuk menggantikan
Seterusnya, kita boleh menggunakan fungsi re.sub() untuk menggunakan corak ungkapan biasa pada teks HTML untuk melengkapkan penggantian teg. Pada masa ini, kami memilih untuk menggantikan semua teg dengan ruang, yang mengekalkan maklumat pemformatan seperti ruang dan pemisah baris dalam kandungan teks.

import re

# HTML标签替换为空格
pattern = r'<[^>]+>'
text_without_html = re.sub(pattern, ' ', html_text)
Salin selepas log masuk

Kod ini akan menggantikan semua teg HTML yang sepadan dengan ruang, menghasilkan rentetan yang mengandungi kandungan teks biasa sahaja.

4 Proses selanjutnya kandungan teks
Jika anda perlu memproses lebih lanjut kandungan teks, seperti mengalih keluar ruang tambahan, tanda baca atau aksara lain yang tidak bermakna, kami boleh menggunakan fungsi manipulasi rentetan dalam Python untuk pemprosesan. . Berikut ialah beberapa contoh:

# 去除多余空格
text_without_html = re.sub(r's+', ' ', text_without_html)

# 去除标点符号
import string
text_without_html = ''.join([c for c in text_without_html if c not in string.punctuation])
Salin selepas log masuk

Kod ini akan menggunakan fungsi re.sub() dan fungsi manipulasi rentetan dalam Python untuk mengalih keluar lebihan ruang dan tanda baca, dengan itu memperoleh kandungan teks yang lebih tulen.

Ringkasan:
Menggunakan ungkapan biasa dalam Python boleh mengalih keluar tag daripada teks HTML dan mengekstrak kandungan teks biasa dengan mudah. Walau bagaimanapun, perhatian perlu diberikan kepada pembinaan dan penggunaan corak ungkapan biasa untuk mengendalikan situasi teks HTML yang berbeza.


  1. >

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar tag HTML menggunakan ungkapan biasa Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan