Maison > développement back-end > Tutoriel Python > Pourquoi les fonctions BeautifulSoup comme « find » et « select_one » renvoient-elles « None » ?

Pourquoi les fonctions BeautifulSoup comme « find » et « select_one » renvoient-elles « None » ?

Linda Hamilton
Libérer: 2024-11-13 02:14:02
original
1040 Les gens l'ont consulté

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

Pourquoi les fonctions BeautifulSoup renvoient parfois Aucun

Dans BeautifulSoup, les fonctions qui recherchent un seul résultat, telles que find et select_one, renvoient Aucun si aucun élément correspondant n'est trouvé dans le HTML. Cela conduit à des exceptions AttributeError si le code suivant tente d'utiliser ces valeurs None comme s'il s'agissait d'éléments réels.

Exemples de retours None

Considérez l'extrait de code suivant :

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
Copier après la connexion

Comment éviter AttributeError : 'NoneType ' L'objet n'a pas d'attribut...

Pour éviter les exceptions AttributeError, il est essentiel de gérer les retours None avec élégance. Voici quelques bonnes pratiques :

  • Utilisez des instructions conditionnelles pour vérifier si le résultat est Aucun avant de tenter d'accéder aux attributs.
  • Attribuez le résultat à une variable et utilisez .has_attr() pour vérifier l'existence d'un attribut spécifique.
  • Utilisez les blocs try et except pour intercepter les exceptions AttributeError.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal