1. Produk
  2.   HTML
  3.   Python
  4.   Beautiful Soup
 
  

Perpustakaan Python Sumber Terbuka untuk Menguraikan HTML/XML & Mengekstrak Data

Beautiful Soup adalah Perpustakaan Penguraian Python Sumber Terbuka Terkemuka yang Menguraikan HTML/XML yang Berantakan, Mengekstrak Teks/Pautan, Menavigasi Pokok dan Menyokong Aliran Kerja Pengikisan Web Moden.

Apakah Beautiful Soup?

Pengikisan web telah menjadi kemahiran penting bagi saintis data, pemaju, dan penyelidik yang perlu mengekstrak maklumat berharga daripada laman web. Beautiful Soup berdiri sebagai salah satu perpustakaan Python yang paling popular dan mesra pengguna untuk menghurai dokumen HTML dan XML. Sejak penciptaannya pada tahun 2004, alat yang berkuasa ini telah menjimatkan berjam-jam masa bagi pengaturcara dalam projek pengikisan web. API perpustakaan yang intuitif, dokumentasi yang cemerlang, dan sokongan komuniti yang aktif memastikan bahawa pemula serta pemaju berpengalaman dapat mengekstrak data web dengan berkesan.

Beautiful Soup ialah perpustakaan Python yang direka khusus untuk mengekstrak data daripada fail HTML dan XML. Ia merupakan perpustakaan Python yang kuat yang telah menjimatkan jam atau hari kerja pengaturcara dalam projek pengikisan web sejak 2004. Dengan hanya beberapa baris kod, anda boleh melakukan pertanyaan kompleks seperti, kesederhanaan dan kemudahan penggunaan, mencari semua pautan, mengekstrak kandungan teks, penukaran pengekodan automatik, fleksibiliti pengurai, pengendalian ralat yang kukuh, mencari dan mengekstrak pautan daripada halaman web dan banyak lagi.

Perpustakaan Beautiful Soup mengubah tugas yang sering mengecewakan untuk mengekstrak data daripada dokumen HTML dan XML menjadi proses Pythonik yang mudah, menukar kandungan web yang tidak terstruktur dengan baik menjadi pokok parse yang teratur rapi yang anda boleh navigasi dan cari dengan kaedah mudah. Apa yang secara tradisional memerlukan jam pengekodan manual dapat diselesaikan dalam beberapa minit dengan Beautiful Soup. Ia tetap menjadi standard industri bagi pembangun Python yang memasuki dunia pengikisan web. Kesederhanaannya, digabungkan dengan kuasa pelbagai pengurai, menjadikannya pilihan yang tiada tandingan untuk mengekstrak data daripada laman web statik.

Previous Next

Mula Menggunakan Beautiful Soup

Cara yang disyorkan dan paling mudah untuk memasang Beautiful Soup ialah menggunakan pip. Sila gunakan perintah berikut untuk pemasangan yang lancar.

Pasang Perpustakaan Beautiful Soup melalui pip

pip install beautifulsoup4 

Anda juga boleh memasangnya secara manual; muat turun fail pelepasan terkini secara langsung dari halaman web Beautiful Soup.

Bekerja dengan Pelbagai Pengurai

Pustaka Beautiful Soup tidak melakukan semua penguraian sendiri — sebaliknya, ia berada di atas pengurai matang seperti html.parser terbina dalam Python, pengurai lxml yang pantas, dan html5lib yang serupa pelayar. Bergantung pada keperluan, anda boleh mengutamakan kelajuan atau pematuhan piawaian. Seni bina ini memberikan anda fleksibiliti untuk memilih pengurai yang paling sesuai dengan keperluan anda, menukar kelajuan penguraian untuk fleksibiliti, mencuba strategi penguraian yang berbeza tanpa mengubah kod Beautiful Soup anda, dan sebagainya. Kod ringkas berikut menunjukkan bagaimana pembangun boleh menggunakan pengurai yang berbeza dengan Beautiful Soup.

Bagaimana Menggunakan Berbilang Pengurai untuk Menghurai Dokumen HTML dalam Aplikasi Python?

# Using different parsers with Beautiful Soup
html_doc = "

Kandungan contoh

" # Using lxml parser (fast) soup_lxml = BeautifulSoup(html_doc, 'lxml') # Using html5lib parser (slower but more lenient) soup_html5lib = BeautifulSoup(html_doc, 'html5lib') # Using Python's built-in parser soup_builtin = BeautifulSoup(html_doc, 'html.parser')

Mengekstrak Pautan dari Halaman Web

Pengikisan pautan adalah tugas pengikisan web yang umum, terutama berguna untuk membina perayap web. Perpustakaan sumber terbuka Beautiful Soup telah menyertakan sokongan untuk memuatkan halaman web dan mengekstrak pautan daripadanya dalam aplikasi Python. Contoh kod ringkas berikut menunjukkan cara mengambil halaman web langsung menggunakan perpustakaan requests, kemudian mengekstrak semua tag anchor dalam aplikasi Python.

Bagaimana Mengekstrak Pautan dari Laman Web menggunakan Python ?

from bs4 import BeautifulSoup
import requests

# Fetch a real webpage
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

# Extract all links
links = soup.find_all('a')

print(f"Found {len(links)} links:")
for link in links:
    href = link.get('href')
    text = link.get_text().strip()
    print(f"Text: {text} | URL: {href}")

# Filter links by criteria
external_links = []
for link in soup.find_all('a'):
    href = link.get('href')
    if href and href.startswith('http'):
        external_links.append(href)

print(f"\nFound {len(external_links)} external links")

Mencari Elemen HTML Tertentu

Salah satu kekuatan terbesar Beautiful Soup ialah cara semulajadi ia membolehkan anda mencari HTML, hampir seperti membaca bahasa Inggeris biasa. Daripada berurusan dengan API DOM yang kompleks, anda hanya menyatakan apa yang anda mahu, dan Beautiful Soup akan mencarinya untuk anda. Anggap anda ingin mencari semua pautan pada satu halaman. Anda boleh menggunakan kaedah find_all seperti yang ditunjukkan dalam contoh kod berikut. Kaedah ini mengembalikan senarai semua tag pautan. Kami kemudian mengulangi mereka untuk mengekstrak URL dan teks bagi mendapatkan nama pautan yang kelihatan menggunakan API Python.

Bagaimana Mencari dan Mengekstrak Elemen HTML Tertentu dari Laman Web melalui API Python?

# Extract all anchor tags
links = soup.find_all('a')

for link in links:
    href = link.get('href')
    text = link.text.strip()
    print(f"Text: {text} | URL: {href}")

Pengendalian Pengekodan Automatik

Salah satu ciri paling praktikal Beautiful Soup ialah penukaran pengekodan automatiknya. Perpustakaan ini secara automatik menukar dokumen masuk ke Unicode dan dokumen keluar ke UTF-8, menghapuskan salah satu masalah paling umum dalam pengikisan web. Sila ingat bahawa anda hanya perlu memikirkan pengekodan apabila dokumen tidak menyatakan pengekodan kerana Beautiful Soup tidak dapat mengesan pengekodan secara automatik. Dalam kes yang jarang berlaku ini, anda hanya perlu menentukan pengekodan asal secara manual.

 Melayu