Ich versuche gerade, eine Website zu kratzen, die ziemlich schlecht formatiert HTML hat (häufig fehlende schließende Tags, keine Verwendung von Klassen oder IDs, so dass es unglaublich schwierig ist, direkt zu dem Element zu gehen, etc.)). Ich habe BeautifulSoup bisher mit einigem Erfolg benutzt, aber hin und wieder (obwohl ziemlich selten) stoße ich auf eine Seite, auf der BeautifulSoup den HTML-Baum ein wenig anders als zB Firefox oder Webkit erstellt. Während dies verständlich ist, da die Formatierung des HTML dies mehrdeutig macht, wenn ich in der Lage wäre, den gleichen Syntaxbaum zu erhalten, wie Firefox oder Webkit produziert, wäre ich in der Lage, die Dinge viel einfacher zu parsen. Die Probleme sind in der Regel etwas wie die Website öffnet ein <b>
Tag zweimal und wenn BeautifulSoup das zweite <b>
Tag sieht, schließt es sofort die erste, während Firefox und Webkit die <b>
Tags verschachteln.Web Scraping mit Python
Gibt es eine Web-Scraping-Bibliothek für Python (oder irgendeine andere Sprache (ich bin verzweifelt)), die den von Firefox oder WebKit generierten Parse-Baum reproduzieren kann (oder zumindest bei Unklarheiten näher kommt als BeautifulSoup) .
Warum nicht verwenden Webkit selbst? Webkit ist Open Source. Ja, es wird etwas Zeit brauchen, um sich daran zu gewöhnen. –
Hast du der schönen Gruppe erzählt? Sie sind wahrscheinlich an einem Fall wie dem Ihren interessiert http://groups.google.com/group/beautifulsoup –
So oft gefragt ... –