Maison > développement back-end > Tutoriel Python > Pourquoi My Beautiful Soup Code renvoie-t-il une erreur AttributeError : l'objet \'ResultSet\' n'a pas d'attribut \'find_all\' ?

Pourquoi My Beautiful Soup Code renvoie-t-il une erreur AttributeError : l'objet \'ResultSet\' n'a pas d'attribut \'find_all\' ?

Mary-Kate Olsen
Libérer: 2024-11-26 14:01:13
original
662 Les gens l'ont consulté

Why Does My Beautiful Soup Code Throw an AttributeError: 'ResultSet' object has no attribute 'find_all'?

Beautiful Soup : AttributeError lors de l'accès à l'attribut 'find_all' sur l'objet 'ResultSet'

Dans le web scraping avec Beautiful Soup, il est essentiel de comprendre les types d'objets avec lesquels vous travaillez. Lorsque vous utilisez BeautifulSoup.find_all(), assurez-vous de l'appliquer au bon objet.

Considérez l'extrait de code ci-dessous :

import requests
from bs4 import BeautifulSoup

url = 'https://gist.githubusercontent.com/anonymous/c8eedd8bf41098a8940b/raw/c7e01a76d753f6e8700b54821e26ee5dde3199ab/gistfile1.txt'
r = requests.get(url)

soup = BeautifulSoup(r.text)
table = soup.find_all(class_='dataframe')
Copier après la connexion

Dans ce code, la table est un objet ResultSet. ResultSet est un objet de type liste qui contient plusieurs objets Tag. Pour rechercher des éléments dans chaque objet Tag, vous devez parcourir les éléments du ResultSet et appeler find_all() sur chaque objet Tag.

Le code corrigé ci-dessous démontre ceci :

...
for row in table[0].find_all('tr'):
    col = row.find_all('td')
...
Copier après la connexion

En résumé, lorsque vous rencontrez l'attribut AttributeError : l'objet 'ResultSet' n'a pas d'attribut 'find_all', vérifiez que vous appelez find_all() sur l'objet approprié. taper. Dans ce cas, n'oubliez pas de parcourir le ResultSet et d'exécuter find_all() sur chaque objet Tag.

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