Question

Je suis en train de créer un analyseur HTML généralisé qui fonctionne bien sur les postes de blog. Je tiens à mon analyseur à l'URL de entrie spécifique et retourner le texte propre du poste lui-même. Mon approche de base (de python) a été d'utiliser une combinaison de BeautifulSoup / urllib2, ce qui est correct, mais il suppose que vous connaissez les balises appropriées pour l'entrée de blog. Quelqu'un at-il une meilleure idée?

Voici quelques pensées peut-être quelqu'un pourrait élargir, que je n'ai pas assez de connaissances / savoir-faire encore à mettre en œuvre.

  1. Le programme unix 'lynx' semble analyser les messages de blog particulièrement bien - ce que l'analyseur utilisent-ils, ou comment cela pourrait-il être utilisé

  2. ?
  3. Y a-t-il des services / parseurs qui éliminent automatiquement des annonces de malbouffe, etc?

  4. Dans ce cas, j'ai eu une vague idée qu'il peut être une hypothèse bien que les messages de blog sont généralement contenus dans une certaine étiquette définissant avec class = « entrée » ou quelque chose de similaire. Ainsi, il peut être possible de créer un algorithme qui trouve les balises avec le texte encaissantes plus propre entre eux - des idées sur ce

Merci!

Était-ce utile?

La solution

Boy, dois-je le parfait solution pour vous.

L'algorithme de lisibilité de Arc90 fait exactement cela. Étant donné le contenu HTML, il choisit le contenu du texte principal de blog, sans tenir compte des en-têtes, pieds de page, navigation, etc.

Voici les mises en œuvre dans:

Je publierai un port Perl CPAN dans quelques jours. Terminé.

Hope this helps!

Autres conseils

Il y a des projets là-bas qui ont l'air spécifiquement pour filtrer le « bruit » d'une page donnée. En général, la façon dont cela est fait est en donnant l'algorithme quelques exemples d'un type donné de la page, et il peut regarder ce que les parties ne changent pas entre eux. Cela étant dit, il faudrait donner l'algorithme quelques exemples de pages / messages de tous les blogs vous vouliez analyser. Cela fonctionne généralement bien lorsque vous avez un petit ensemble défini de sites que vous serez Crawling (sites d'information, par exemple). L'algorithme détecte essentiellement le modèle qu'ils utilisent en HTML et à choisir la partie intéressante. Il n'y a pas de magie ici, il est difficile et imparfait.

Un bon exemple de cette alogrithm se trouve dans le code source EveryBlock.com qui était open source. everyblock.com/code et télécharger le package « ebdata » et regarder le « templatemaker » module.

Et je ne veux pas dire l'évidence, mais avez-vous pensé juste en utilisant RSS des blogs en question? Habituellement, les champs ont le poste entier blog, titre, et d'autres méta informations avec eux. L'utilisation RSS va être beaucoup plus simple que la solution précédente je l'ai mentionné.

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