Also lerne ich langsam Python und versuche eine einfache Funktion zu erstellen, die Daten von der Highscore-Seite eines Online-Spiels zeichnet. Dies ist der Code von jemand anderem, den ich in eine Funktion umgeschrieben habe (was das Problem sein könnte), aber ich bekomme diesen Fehler. Hier ist der Code:
%Vor%Vielen Dank im Voraus.
Wow. Triptych stellte eine große Antwort zu einer verwandten Frage.
Wir können sehen, aus dem Sourcecode von BeautifulSoup , das ResultSet
subclasses list
.
In Ihrem Beispiel ist get_rows
eine Instanz der ResultSet
-Klasse von BS,
und da BS ResultSet
subclasses list
, das heißt get_rows ist eine Liste .
get_rows
, als eine Instanz von ResultSet
, hat nicht eine findAll
-Methode implementiert; daher dein Fehler.
Was Triptych anders gemacht hat, ist iterate über diese Liste.
Triptychs Methode funktioniert, weil die Elemente in der get_rows
-Liste Instanzen der Tag-Klasse von BS sind; Das hat eine findAll
Methode.
Um den Code zu reparieren, könnten Sie also die letzten drei Zeilen Ihrer create
Methode durch etwas wie das Folgende ersetzen:
Hinweis an Leonard Richardson: In keiner Weise beabsichtige ich, die Qualität Ihrer Arbeit zu verschlechtern, indem ich sie als BS bezeichne; -)
Tags und Links python urllib2 beautifulsoup