Maison >développement back-end >Tutoriel Python >Comment éviter KeyError lors de la recherche d'éléments par classe avec 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!