Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengekstrak Atribut \'href\' daripada Elemen HTML Bersarang Menggunakan BeautifulSoup?

Bagaimana untuk Mengekstrak Atribut \'href\' daripada Elemen HTML Bersarang Menggunakan BeautifulSoup?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 17:52:29982semak imbas

How to Extract 'href' Attributes from Nested HTML Elements Using BeautifulSoup?

Cara Mengekstrak Atribut 'href' Menggunakan BeautifulSoup

Apabila bekerja dengan data HTML, mendapatkan maklumat khusus seperti atribut 'href' boleh menjadi penting . Dalam kes ini, kami mempunyai dua teg, satu dengan elemen bersarang dan matlamatnya adalah untuk mengekstrak atribut 'href' daripada teg 'a', mengabaikan kandungan teks.

Untuk mencapai ini menggunakan BeautifulSoup, anda boleh menggunakan kaedah 'cari_semua'. Kaedah ini membolehkan anda mencari teg berdasarkan pelbagai kriteria, termasuk atribut. Berikut ialah kodnya:

from bs4 import BeautifulSoup

html = '''<a href="some_url">next</a>
<span class="class"><a href="another_url">later</a></span>'''

soup = BeautifulSoup(html)

for a in soup.find_all('a', href=True):
    print("Found the URL:", a['href'])

Kod ini berulang melalui semua teg 'a' dengan atribut 'href' dan mencetak nilai atribut 'href' untuk setiap teg. Outputnya ialah:

Found the URL: some_url
Found the URL: another_url

Sebagai alternatif, jika anda ingin mendapatkan semula semua teg dengan atribut 'href', tanpa mengira namanya, anda boleh menggunakan:

href_tags = soup.find_all(href=True)

Kaedah ini mengembalikan senarai semua teg dengan atribut 'href' dalam dokumen HTML.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Atribut \'href\' daripada Elemen HTML Bersarang Menggunakan BeautifulSoup?. 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