@kingcools: Dein Ansatz ist fehlerhaft. Unter einem Deutschaufsatz würde stehen: Thema verfehlt. Und sich jetzt rausreden, dass es keine Fehlerfreien Programme gibt zählt nicht, weil es hier nicht um das Programm an sich geht, sondern den Algorithmus. Die triviale und fehlerfreie Vorgehensweise wäre einen HTML-Parser zu nehmen und die Tabellenstruktur zu nutzen.
Ein Vorgehen kann abstrakt nicht fehlerfrei sein, dass macht keinerlei Sinn. Fehlerfrei kann erst die Umsetzung sein, daher leider nicht sonderlich klug geschissen. Jetzt wird es allerdings albern.
In sofern streitest Du ab das Du HTML hast, statt Text der zufällig wie HTML aussieht.
Das glaubst du doch selber nicht. Wenn mir ein chinesischer Text vorliegt und ich die Zahlen auslesen möchte, dann schreibe ich die Zahlen, diese sind arabisch, einfach ab und lerne nicht erst Chinesisch. Dadurch behaupte ich aber nicht implizit, dass mir kein Chinesisch vorliegt. Es interessiert mich nur einfach nicht bei der Lösung. Deine Aussage ist eine Unterstellung, die du nachfolgend als wahr annimmst um es mir dann vorzuwerfen. Absoluter Unfug.
Du redest hier eine nicht funktionierende Lösung schön.
Die Lösung funktioniert. Wir können uns jetzt gerne über die Definition von "funktionieren" unterhalten, finde ich aber langweilig. Mach nen eigenen Thread auf, falls dich das interessiert.
Du redest hier eine nicht funktionierende Lösung schön. Das es keine fehlerfreien Programme gibt ist ein unsinniges Totschlagargument. Das zieht auch nur für Fehler die man nicht kennt. Denn wenn man einen Fehler erkannt hat, dann ist es sehr wohl möglich den zu beheben. Insbesondere wenn der einfach zu beheben ist, in dem man zum Beispiel die passende Technik verwendet, sieht ein verteidigen der kaputten ”Lösung” nach Faulheit oder reflexartigem Rechtfertigungsversuch einer schlechten Entwurfentscheidung um jeden Preis aus.
Als würde ich mit Mauern reden. Ich habe die Gründe für die Wahl meiner Lösung bzw. Beibehaltung meiner Lösung dargelegt. Wenn du zu faul bist diese zu lesen oder dies ignorierst, dann kann ich dir nicht helfen.
Klassische Programmiererdiskussion hier. Ich bin nun raus, ein Tipp:
Ihr hättet wesentlich konstruktiver helfen können, hättet ihr einfach z.B. geschrieben:
"Deine Variante funktioniert nicht, da du statt findall() die Methode match() verwendest. Deine Variante findet die Daten mittels findall("meine RE").
Aber es ist deutlich weniger fehleranfällig, wenn du den HTML-Code mittels z.B. BeautifulSoup parst. Damit hast du auch in Zukunft einen besseren Stand."
Höherer Informationsgehalt, wesentlich konstruktiver rübergebracht, denn es löst auch direkt den gegenwärtigen Ansatz, zeigt aber den Ausblick auf die im allgemeinen bessere Lösung.
Wieso ich meinen Lösungsweg nun erstmal bevorzuge habe ich bereits dargelegt, aber andere Motive als die eigenen scheint ihr/einige hier nicht zu akzeptieren.
Das man eine Lösung im Nachhinein noch ändern kann, solltet ihr wissen. Das im Entwicklungsprozess nicht sofort die optimale Lösung stehen muss, auch. Für mich als nicht BeautifulSoupkenner hätte es an einer Stelle, für die ich eine schnelle Lösung suchte, absolut keinen Sinn gemacht, noch ein extre Fass mit dem Einarbeiten in BeautifulSoup aufzumachen. Nichts hindert mich daran, dies später noch zu ändern.
Wieso ihr so sehr darauf fixiert seid, die im allgemeinen bessere Lösung zu verwenden ist mir unklar. Meine Variante funktioniert tadellos, der "Buch mit Datum im Titel"-Fall ist extrem unwahrscheinlich (ich leihe mir schlicht derartiges nicht (in der Stadtbücherei) aus) und dafür sehe ich es nicht ein beim ersten Entwurf mit der Kanone auf Spatzen zu schießen.
So und mehr sage ich dazu nicht. Danke dennoch für den BeautifulSoup-Hinweis.