Question

J'ai une page web chargée dans le navigateur (par exemple son positionnement DOM et élément sont tous deux accessibles pour moi) et je veux trouver l'élément de bloc (ou une liste triée de ces éléments), qui contient probablement le plus contenu (comme dans un bloc continu de texte). Le but est d'exclure des choses comme les menus, les en-têtes, pieds de page et autres.

Était-ce utile?

Autres conseils

Tout d'abord, si vous avez besoin d'analyser une page Web, j'utiliser HTMLAgilityPack pour le transformer en un fichier XML. Il accélérera tout et vous permettra, à l'aide d'un simple XPath pour aller directement au corps.

Après cela, vous devez exécuter sur tous les divs (Vous pouvez obtenir tous les éléments DIV dans une liste du pack agilité), et d'obtenir ce que vous voulez.

Il y a une technique simple de le faire, basée sur l'analyse la façon dont HTML « bruyant » est, à savoir, quel est le rapport de balisage au texte affiché dans une page html. The Easy Way pour extraire texte utile de arbitraire HTML décrit ce tex, ce qui donne un code python pour illustrer.

Cf. aussi HTML :: ContentExtractor Perl module, qui met en œuvre cette idée. Il serait judicieux de nettoyer le code HTML d'abord, si vous voulez utiliser, en utilisant beautifulsoup.

Je recommande la thèse de Baisa sur Nettoyage de contenu Web , Je pense qu'il a un code aussi, mais je ne peux pas trouver un lien pour elle. Il y a aussi une discussion du problème même sur le traitement du langage naturel blog LingPipe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top