Frage

Ich habe eine Web-Seite geladen im Browser auf (dh seine DOM und Element Positionierung sind beide zugänglich für mich) und ich möchte das Blockelement finden (oder eine sortierte Liste dieser Elemente), die wahrscheinlich die meisten Inhalte enthält (wie in einem kontinuierlichen Block von Text). Das Ziel ist es auszuschließen Dinge wie Menüs, Kopf- und Fußzeilen und so weiter.

War es hilfreich?

Lösung

Andere Tipps

Erstens, wenn Sie eine Web-Seite analysieren müssen, würde ich verwenden HTMLAgilityPack es zu transformieren ein XML. Es wird alles beschleunigen und ermöglicht es Ihnen, eine einfache XPath direkt auf den Körper zu gehen.

Danach müssen Sie immer auf dem divs laufen (Sie können alle DIV-Elemente in einer Liste von der Agilität Pack erhalten), und bekommen, was Sie wollen.

Es gibt eine einfache Technik, dies zu tun, basierend auf der Analyse, wie „laut“ HTML ist, das heißt, was das Verhältnis von Markup zu angezeigtem Text durch eine HTML-Seite. Der einfache Weg zum Extract Nützliche Text von beliebigen HTML beschreibt diese tex, einige python-Code zu geben darzustellen.

Cf. auch die HTML :: ContentExtractor Perl Modul, das diese Idee realisiert. Es wäre sinnvoll, die html zuerst zu reinigen, wenn Sie diese verwenden wollen, mit beautifulsoup.

würde ich Vit Baisa Arbeit über Web Content Reinigung empfehlen, ich glaube, er einen Code zu, aber ich kann nicht einen Link für sie finden. Es gibt auch eine Diskussion des gleichen Problem auf die Verarbeitung LingPipe Blog natürlicher Sprache.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top