Python beautifulsoup iteriert über die Tabelle

8

Ich versuche, Tabellendaten in eine CSV-Datei zu übertragen. Leider habe ich eine Straßensperre getroffen und der folgende Code wiederholt einfach den TD von der ersten TR für alle nachfolgenden TRs.

%Vor%

Dies ist mein erstes Python-Skript, also würde jede Hilfe geschätzt werden! Ich habe mir andere Fragen angesehen, kann aber nicht herausfinden, was ich falsch mache.

    
Will 25.04.2012, 04:57
quelle

2 Antworten

26

Sie beginnen jedes Mal auf der obersten Ebene Ihres Dokuments, wenn Sie find() oder find_all() verwenden. Wenn Sie zum Beispiel nach allen "td" -Tags fragen, erhalten Sie alle "td "Tags im Dokument, nicht nur diejenigen in der Tabelle und Zeile, nach denen Sie gesucht haben. Sie können auch nicht nach solchen suchen, weil sie nicht so verwendet werden, wie Ihr Code geschrieben ist.

Ich denke, du willst so etwas machen:

%Vor%

Oder Sie wissen, etwas mehr, mit mehr beschreibenden Variablennamen zu booten:

%Vor%     
kindall 25.04.2012, 05:08
quelle
6

Das Problem ist, dass du jedes Mal, wenn du versuchst, deine Suche einzuschränken (du bekommst den ersten td in diesem tr usw.), stattdessen einfach zurück zur Suppe rufst. Suppe ist das oberste Objekt - es repräsentiert das gesamte Dokument. Sie müssen nur einmal Suppe rufen und dann das Ergebnis davon anstelle der Suppe für den nächsten Schritt verwenden.

Zum Beispiel (mit Variablennamen geändert, um klarer zu sein),

%Vor%

Ich bin mir nicht sicher, ob die print-Anweisung der beste Weg ist, um das zu tun, was Sie hier versuchen (zumindest sollten Sie die Formatierung von Zeichenfolgen anstelle von addieren), aber ich verlasse sie so, wie sie ist Es ist nicht das Kernproblem.

Auch für den Abschluss: soup.unicode wird nichts tun. Sie rufen dort keine Methode an, und es gibt keine Aufgabe. Ich kann mich nicht daran erinnern, dass BeautifulSoup überhaupt eine Methode namens Unicode hat, aber ich bin an BS 3.0 gewöhnt, daher könnte es in 4 neu sein.

    
Andrew Gorcester 25.04.2012 05:09
quelle

Tags und Links