Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh mengekstrak atribut href daripada HTML menggunakan BeautifulSoup?

Bagaimanakah saya boleh mengekstrak atribut href daripada HTML menggunakan BeautifulSoup?

Linda Hamilton
Linda Hamiltonasal
2024-10-29 11:51:02693semak imbas

How can I extract href attributes from HTML using BeautifulSoup?

Mengekstrak Href daripada HTML menggunakan BeautifulSoup

Dalam mengikis web, mengekstrak maklumat khusus daripada HTML ialah tugas biasa. Satu maklumat sedemikian boleh menjadi atribut href bagi tag anchor (). BeautifulSoup, perpustakaan Python yang digunakan secara meluas, menyediakan pelbagai kaedah untuk menavigasi HTML dan mendapatkan semula elemen yang diingini.

Pertimbangkan situasi di mana kita perlu mengekstrak href daripada HTML yang mengandungi berbilang teg, termasuk dan

<code class="python">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'])<p>Kaedah find_all mengambil dua hujah: nama teg untuk dicari dan kamus pilihan atribut untuk ditapis. Dalam kes ini, kami mencari teg 'a' dengan atribut href, dan kemudian kami mencetak nilai atribut href untuk setiap teg yang dipadankan.</p>
<p>Untuk versi BeautifulSoup yang lebih lama, nama kaedah ialah 'findAll' bukannya 'cari_semua'.</p>
<p>Perhatikan bahawa jika kita ingin mengekstrak semua teg dengan atribut href, tanpa mengira namanya, kita boleh meninggalkan parameter nama teg:</p>
<pre class="brush:php;toolbar:false"><code class="python">href_tags = soup.find_all(href=True)</code>

Ini akan kembalikan senarai semua teg dalam HTML dengan atribut href.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengekstrak atribut href daripada HTML 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