Rumah pembangunan bahagian belakang Tutorial Python Bagaimanakah Python Boleh Mengekstrak Teks Biasa dengan Cekap daripada HTML, Mengendalikan Entiti dan Kandungan Tidak Diingini?

Bagaimanakah Python Boleh Mengekstrak Teks Biasa dengan Cekap daripada HTML, Mengendalikan Entiti dan Kandungan Tidak Diingini?

Nov 29, 2024 pm 08:12 PM

How Can Python Efficiently Extract Plain Text from HTML, Handling Entities and Unwanted Content?

Mengekstrak Teks Biasa daripada HTML Menggunakan Python

Dalam usaha mendapatkan semula kandungan teks daripada fail HTML, adalah penting untuk mempertimbangkan kukuh kaedah yang mengendalikan entiti HTML dengan betul dan berkesan. Walaupun penyelesaian menggunakan ungkapan biasa mungkin terbukti terhad, perpustakaan seperti Beautiful Soup menawarkan pilihan yang lebih canggih. Walau bagaimanapun, isu dengan menangkap teks yang tidak diingini dan tafsiran entiti kekal.

Beautiful Soup: A Powerful Tool with Caveats

Beautiful Soup ialah pilihan popular untuk penghuraian HTML, namun ia boleh mendapatkan semula elemen tambahan seperti sumber JavaScript dan gagal mentafsir entiti HTML. Contohnya, urutan ' dalam kod sumber tidak ditukar kepada apostrof dalam teks yang diekstrak.

Masukkan html2text: Penyelesaian yang Menjanjikan

Pada masa ini, html2text muncul sebagai pilihan yang menarik. Ia mengendalikan entiti HTML dengan mudah dan mengabaikan kandungan yang tidak perlu seperti JavaScript. Walaupun ia mengeluarkan penurunan nilai dan bukannya teks biasa, ini boleh ditukar dengan mudah.

Pendekatan Teguh dan Boleh Disesuaikan

Coretan kod berikut memanfaatkan Sup Cantik dan menawarkan kawalan yang dipertingkatkan ke atas proses pengekstrakan:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

from urllib.request import urlopen

from bs4 import BeautifulSoup

 

url = "http://news.bbc.co.uk/2/hi/health/2284783.stm"

html = urlopen(url).read()

soup = BeautifulSoup(html, features="html.parser")

 

# Remove unwanted elements like scripts and styles

for script in soup(["script", "style"]):

    script.extract()

 

# Extract the text content

text = soup.get_text()

 

# Preprocess the text for improved readability

lines = (line.strip() for line in text.splitlines())

chunks = (phrase.strip() for line in lines for phrase in line.split("  "))

text = '\n'.join(chunk for chunk in chunks if chunk)

 

print(text)

Salin selepas log masuk

Dengan menggunakan pendekatan ini, anda boleh mengekstrak teks biasa dengan berkesan, mengendalikan kandungan yang dikehendaki dan tidak diingini mengikut keperluan anda.

Atas ialah kandungan terperinci Bagaimanakah Python Boleh Mengekstrak Teks Biasa dengan Cekap daripada HTML, Mengendalikan Entiti dan Kandungan Tidak Diingini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Mar 10, 2025 pm 06:54 PM

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Penapisan gambar di python Penapisan gambar di python Mar 03, 2025 am 09:44 AM

Penapisan gambar di python

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Mar 05, 2025 am 09:58 AM

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Cara Bekerja Dengan Dokumen PDF Menggunakan Python Cara Bekerja Dengan Dokumen PDF Menggunakan Python Mar 02, 2025 am 09:54 AM

Cara Bekerja Dengan Dokumen PDF Menggunakan Python

Cara Cache Menggunakan Redis dalam Aplikasi Django Cara Cache Menggunakan Redis dalam Aplikasi Django Mar 02, 2025 am 10:10 AM

Cara Cache Menggunakan Redis dalam Aplikasi Django

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Mar 10, 2025 pm 06:52 PM

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?

Cara Melaksanakan Struktur Data Anda Sendiri di Python Cara Melaksanakan Struktur Data Anda Sendiri di Python Mar 03, 2025 am 09:28 AM

Cara Melaksanakan Struktur Data Anda Sendiri di Python

Serialization dan deserialisasi objek python: Bahagian 1 Serialization dan deserialisasi objek python: Bahagian 1 Mar 08, 2025 am 09:39 AM

Serialization dan deserialisasi objek python: Bahagian 1

See all articles