Beautiful Soup: Behebung des Attributfehlers „ResultSet“
Beim Versuch, eine tabellarische Struktur mit Beautiful Soup zu schaben, kann der Fehler auftreten : „Das ‚ResultSet‘-Objekt hat kein Attribut ‚find_all‘“. Um dieses Problem zu lösen, ist es wichtig, die Struktur des von der Methode „find_all“ zurückgegebenen Ergebnisses zu verstehen.
Die Natur von ResultSet-Objekten
find_all gibt eine Liste übereinstimmender Elemente zurück. In Ihrem Fall enthält die Tabelle eine Liste eines Elements, der Tabelle selbst. Um Zeilen innerhalb der Tabelle abzurufen, müssen Sie find_all für das Element aufrufen, nicht für das ResultSet-Objekt:
# Correct: Iterate over table body rows for row in table[0].find_all('tr'): ...
Verstehen der Fehlermeldung
Die Fehlermeldung „‚ResultSet‘-Objekt hat kein Attribut ‚find_all‘“ zeigt an, dass Sie versuchen, find_all für das ResultSet-Objekt selbst aufzurufen. Dieses Objekt verfügt nicht über das Attribut „find_all“, da es sich nicht um ein Tag, sondern um eine Sammlung von Tags handelt.
Beispiellösung
Basierend auf dem von Ihnen angegebenen Code wurde das korrigiert Version wäre:
... table = soup.find_all(class_='dataframe')[0] # Select the table element for row in table.find_all('tr'): col = row.find_all('td') ...
Das obige ist der detaillierte Inhalt vonBeautiful Soup \'ResultSet\'-Fehler: Warum schlägt `find_all` bei ResultSet-Objekten fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!