Maison >développement back-end >Tutoriel Python >Comment éviter KeyError lors de la recherche d'éléments par classe avec BeautifulSoup ?

Comment éviter KeyError lors de la recherche d'éléments par classe avec BeautifulSoup ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-30 16:20:11878parcourir

How to Avoid KeyError When Finding Elements by Class with BeautifulSoup?

Recherche d'éléments par classe à l'aide de BeautifulSoup

Dans le web scraping, localiser des éléments sur une page Web par leur attribut de classe est une tâche courante. Bien que l'utilisation de Beautifulsoup puisse simplifier ce processus, certains utilisateurs peuvent rencontrer une KeyError lors de l'accès à l'attribut "class". Cet article aborde le problème et propose une solution.

L'erreur rencontrée dans l'exemple de code ("Fichier "./beautifulcoding.py", ligne 130, dans getlangage...", "KeyError: 'class' ") indique que le script ne parvient pas à récupérer l'attribut class de l'élément div. Pour résoudre ce problème, la méthode de recherche peut être affinée à l'aide de la fonction find_all améliorée de BeautifulSoup 3.

Le code modifié suivant montre comment rechercher et imprimer tous les éléments div avec une classe spécifique :

mydivs = soup.find_all("div", {"class": "stylelistrow"})
for div in mydivs:
    print(div)

Ce code affine la recherche en spécifiant la classe souhaitée comme argument du dictionnaire dans la méthode find_all. Cela garantit que seuls les éléments div avec la classe spécifiée sont récupérés du document HTML.

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!

Déclaration:
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