2010-11-22 24 views
0

Je travaille sur un projet d'école dans lequel nous aimerions analyser le contenu des pages web. Cependant, nous ne voulons pas traiter des choses comme les barres de navigation et les commentaires. Si nous regardions un site Web spécifique, nous pourrions faire un analyseur pour filtrer ce genre de choses extrinsèques spécifiquement pour ce site, mais nous espérons travailler sur des sites arbitraires que nous n'avons peut-être jamais rencontrés auparavant.Existe-t-il des outils pour isoler le contenu d'une page Web?

Je pense que c'est un peu beaucoup d'espoir, donc je ne serai pas surpris si rien de tel n'existe déjà, mais est-ce que quelqu'un connaît un outil qui peut faire ce genre d'isolation de contenu sur des sites Web arbitraires? J'ai eu un peu de chance en comparant les pages avec d'autres du même site, mais c'est imparfait et laisse des commentaires et autres.

Je travaille en Java, mais j'accueillerais tout ce qui est open source dans n'importe quelle langue que je pourrais utiliser pour des idées.

Répondre

2

Vous pouvez essayer un unofficial API de la lisibilité d'arc90.

Fondamentalement, ce que Readability fait est d'extraire du contenu sur une page Web et vous présente comme un article bien formaté. Les barres de navigation, les commentaires et tous les autres éléments qui entourent le contenu d'une page Web ont disparu.

+0

Cela semble vraiment cool! Je vais devoir regarder de plus près. – Matt

0

Je doute que tout existe qui ferait ce que vous voulez. Sans une sorte de balisage sémantique, il est pratiquement impossible de distinguer le contenu "réel" des autres. C'est une tâche qui nécessite une réelle intelligence. Il y a bien sûr de bons outils pour analyser le HTML avec plus ou moins de correction, et il est souvent possible de concocter une solution basée sur un modèle pour traiter des pages sur un site particulier ... en supposant qu'il existe des structures communes/modèles à susciter.

3

Je suis un peu en retard à celui-ci (surtout pour un projet d'école), mais si quelqu'un trouve cela à un moment donné, ce qui suit peut être utile.

Je suis tombé sur une bibliothèque Java pour faire exactement cela. La performance, dans mes tests simples, est similaire à Readability.

http://code.google.com/p/boilerpipe/

1

im aussi un peu en retard à cette conversation, mais ...

les extracteurs Java Boilerpipe sont probablement ce que vous voulez (ArticleSentencesExtractor probablement), bien qu'il y ait au moins 1 port de la lisibilité de arc90 à Java sur github.

Si vous voulez construire un pauvre mans boilerpipe vous pouvez essayer diff'ing 2 pages du même site (en supposant qu'ils utilisent le même modèle que vous obtiendrez probablement un résultat intéressant)

La principale différence entre boilerpipe , la lisibilité et un hack diff basé est que pipepipe supprimera tout html mais préservera la structure