Maison >développement back-end >Tutoriel Python >Pourquoi mon objet Beautiful Soup `ResultSet` n'a-t-il pas d'attribut `find_all` ?
Beautiful Soup : résolution de l'attribut 'find_all' manquant de l'objet 'ResultSet'
Lorsque vous travaillez avec Beautiful Soup pour récupérer des données à partir de HTML ou XML documents, vous pouvez rencontrer une « AttributeError » avec le message « L'objet 'ResultSet' n'a pas d'attribut 'trouver_tout'". Cette erreur survient généralement lorsque vous tentez d'utiliser la méthode « find_all » sur l'objet « ResultSet » lui-même, ce qui est une idée fausse courante.
Pour comprendre le problème, il est important de faire la distinction entre un objet « ResultSet » et un individu. éléments au sein de cet ensemble. Un « ResultSet » contient une collection d’éléments similaires, tandis que chaque élément lui-même est un « Tag ». Dans le code que vous avez fourni, la variable 'table' contient un 'ResultSet' contenant les éléments du tableau de la page Web.
Pour récupérer les lignes du tableau (éléments 'tr') dans votre code, vous devez accéder les éléments individuels du 'ResultSet' en utilisant son index. Le code suivant récupérera correctement les lignes du tableau :
for row in table[0].find_all('tr'): col = table[0].find_all('td') # Get table data columns (within the current row)
Ici, 'table[0]' accède spécifiquement au premier élément de tableau du 'ResultSet', qui est l'élément 'table' de la page Web. . Vous pouvez ensuite utiliser la méthode 'find_all' sur cet élément pour récupérer les éléments 'tr' (lignes du tableau) qu'il contient.
En accédant de manière appropriée aux éléments individuels dans le 'ResultSet', vous pouvez utiliser avec succès le ' méthode find_all' pour extraire les données souhaitées 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!