Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa BeautifulSoup berfungsi seperti `cari` dan `pilih_satu` mengembalikan `Tiada`?

Mengapa BeautifulSoup berfungsi seperti `cari` dan `pilih_satu` mengembalikan `Tiada`?

Linda Hamilton
Linda Hamiltonasal
2024-11-13 02:14:02983semak imbas

Why do BeautifulSoup functions like `find` and `select_one` return `None`?

Mengapa BeautifulSoup Berfungsi Kadangkala Tiada Kembali

Dalam BeautifulSoup, fungsi yang mencari hasil tunggal, seperti cari dan pilih_satu, kembalikan Tiada jika tiada unsur sepadan ditemui dalam HTML itu. Ini membawa kepada pengecualian AttributeError jika kod berikutnya cuba menggunakan nilai Tiada ini seolah-olah ia adalah elemen sebenar.

Contoh Tiada Pengembalian

Pertimbangkan coretan kod berikut:

html_doc = "..."
soup = BeautifulSoup(html_doc, 'html.parser')
print(soup.sister)
print(soup.find('a', class_='brother'))
print(soup.select_one('a.brother'))
soup.select_one('a.brother').text

Cara Mengelakkan AttributeError: Objek 'NoneType' tidak mempunyai atribut...

Untuk mengelakkan pengecualian AttributeError, adalah penting untuk mengendalikan None returns dengan anggun. Berikut ialah beberapa amalan terbaik:

  • Gunakan pernyataan bersyarat untuk menyemak sama ada keputusannya Tiada sebelum cuba mengakses atribut.
  • Tugaskan hasil kepada pembolehubah dan gunakan .has_attr() untuk semak kewujudan atribut tertentu.
  • Gunakan cuba dan kecuali blok untuk menangkap AttributeError pengecualian.

Atas ialah kandungan terperinci Mengapa BeautifulSoup berfungsi seperti `cari` dan `pilih_satu` mengembalikan `Tiada`?. 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