Mit welchen Algorithmen kann ich Inhalte auf einer Webseite identifizieren?

9

Ich habe eine Webseite im Browser geladen (dh ihr DOM und ihre Elementpositionierung sind beide für mich zugänglich) und ich möchte das Blockelement (oder eine sortierte Liste dieser Elemente) finden, das wahrscheinlich den meisten Inhalt enthält (wie in einem fortlaufenden Textblock). Das Ziel ist es, Dinge wie Menüs, Kopf- und Fußzeilen usw. auszuschließen.

    
VoY 04.01.2010, 12:22
quelle

4 Antworten

2

Dies ist mein persönlicher Favorit: VIPS: ein Vision-basierter Seitensegmentierungsalgorithmus

    
Gideon 05.01.2010, 01:10
quelle
1

Wenn Sie zuerst eine Webseite analysieren möchten, verwende ich HTMLAgilityPack , um sie in XML umzuwandeln. Es beschleunigt alles und ermöglicht es Ihnen, mit einem einfachen XPath direkt zum BODY zu gelangen.

Danach müssen Sie alle divs ausführen (Sie können alle DIV-Elemente in einer Liste aus dem Agility-Paket erhalten) und erhalten, was Sie wollen.

    
Faruz 04.01.2010 12:24
quelle
1

Es gibt eine einfache Technik, um dies zu tun, basierend auf der Analyse, wie "verrauschtes" HTML ist, d. h. wie ist das Verhältnis von Markup zu angezeigtem Text durch eine HTML-Seite. Der einfache Weg, nützlichen Text aus beliebigem HTML zu extrahieren beschreibt dieses tex und gibt etwas Python-Code zur Veranschaulichung.

Vgl. auch das Modul HTML :: ContentExtractor Perl, das diese Idee umsetzt . Es würde Sinn machen, den HTML-Code zuerst zu reinigen, wenn Sie dies verwenden möchten, indem Sie beautifulsoup verwenden.

    
Charles Stewart 07.01.2010 11:55
quelle
1

Ich würde Vit Baisas Arbeit über Web Content Cleaning empfehlen, ich denke, er hat etwas Code Auch, aber ich kann keinen Link dafür finden. Es gibt auch eine Diskussion Problem bei der Verarbeitung natürlicher Sprache LingPipe Blog.

    
Jeff Kubina 11.01.2010 14:14
quelle