Pregunta

Estoy intentando crear un analizador HTML generalizado que funcione bien en publicaciones de blog.Quiero apuntar mi analizador a la URL de la entrada específica y obtener el texto limpio de la publicación.Mi enfoque básico (desde Python) ha sido usar una combinación de BeautifulSoup/Urllib2, lo cual está bien, pero supone que conoces las etiquetas adecuadas para la entrada del blog.Alguien tiene mejores ideas?

Aquí hay algunas ideas que tal vez alguien podría ampliar, que aún no tengo suficiente conocimiento para implementar.

  1. El programa Unix 'lynx' parece analizar publicaciones de blogs especialmente bien: ¿qué analizador utilizan o cómo podría utilizarse?

  2. ¿Existe algún servicio/analizador que elimine automáticamente los anuncios basura, etc.?

  3. En este caso, tenía una vaga noción de que puede ser una buena suposición que las publicaciones de blog generalmente estén contenidas en una determinada etiqueta definitoria con class="entry" o algo similar.Por lo tanto, es posible crear un algoritmo que encuentre las etiquetas adjuntas con el texto más limpio entre ellas. ¿Alguna idea al respecto?

¡Gracias!

¿Fue útil?

Solución

Chico, ¿tengo el perfecto solución para ti.

El algoritmo de legibilidad de Arc90 hace exactamente esto.Dado el contenido HTML, selecciona el contenido del texto principal de la publicación del blog, ignorando encabezados, pies de página, navegación, etc.

Aquí hay implementaciones en:

Lanzaré una adaptación de Perl a CPAN en un par de días. Hecho.

¡Espero que esto ayude!

Otros consejos

Hay proyectos por ahí que buscan específicamente a filtrar el 'ruido' de una página determinada. Normalmente, la forma de hacerlo es dando el algoritmo algunos ejemplos de un determinado tipo de página, y se puede ver lo que las partes no cambian entre ellos. Dicho esto, habría que dar al algoritmo de unas pocas páginas de ejemplo / mensajes de todos los blogs que querían analizar. Esto por lo general funciona bien cuando se tiene un pequeño conjunto definido de los sitios se le arrastrándose (sitios de noticias, por ejemplo). El algoritmo es, básicamente, detectando la plantilla que utilizan en HTML y elegir la parte interesante. No hay magia aquí, es difícil e imperfecta.

A gran ejemplo de esto alogrithm se puede encontrar en el código fuente EveryBlock.com que era simplemente abierto de fuentes. Ir a everyblock.com/code y descargar el paquete "ebdata" y mirar el "templatemaker" módulo.

Y no me refiero a decir lo obvio, pero ¿ha considerado simplemente por medio de RSS de los blogs en cuestión? Por lo general, los campos tienen toda la entrada del blog, el título y otra información de metadatos junto con ellos. Por medio de RSS va a ser mucho más simple que la solución anterior mencioné.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top