2011-04-21 13 views
6

Estoy buscando algoritmos que permitan la extracción de texto de sitios web. No me refiero a "strip html", ni a ninguna de las cientos de bibliotecas que lo permiten.Extracción de texto corporal de sitios web, p. extraer solo el encabezado del artículo y el texto no todo el texto en el sitio

Así que, por ejemplo, para un artículo de noticias, me gustaría identificar el encabezado y todo el texto, pero no la sección de comentarios, etc.

¿Hay algún algoritmo para eso? ¡Gracias!

+1

Creo que la frase que estás buscando es "Web raspado" – StriplingWarrior

Respuesta

6

En la literatura informática este problema se suele denominar como el página de segmentación o placa de asar detección problema. Consulte el informe Boilerplate Detection using Shallow Text Features y su publicación relacionada blog. Además, tengo algunos informes y sitios de software bookmarked que resuelven el problema. Además, consulte this pregunta stackoverflow.

+0

gracias! eso es exactamente lo que necesitaba :) – Scoox

+0

Gracias ... fue de gran ayuda! – faisal00813

1

Lo que estás tratando de hacer se llama "extracción de contenido". Resultó ser un problema sorprendentemente difícil de resolver bien, y muchas soluciones ingenuas lo hacen bastante mal.

Instapaper y Readability tienen que resolver esto, y usted puede aprender algo al ver sus soluciones. También brindan servicios que usted puede aprovechar: quizás pueda subcontratar su problema y dejar que su API se encargue de ello. :)

En su defecto, una búsqueda de "html content extraction" devuelve una gran cantidad de resultados útiles, incluyendo una serie de documentos sobre el tema.

1

hay algunas herramientas de código abierto disponibles que realizan tareas similares de extracción de artículos. https://github.com/jiminoc/goose que fue de código abierto por Gravity.com

Tiene información sobre la wiki y la fuente que puede ver. Hay docenas de pruebas unitarias que muestran el texto extraído de varios artículos.

0

La "extracción de contenido" es un tema muy difícil. No hay estándares comunes para identificar el contenido del "artículo principal" (hay varios enfoques para hacer que el HTML sea más fácil de leer para los rastreadores, por ejemplo, schema.org, pero ninguno de estos se usa popularmente).

Resulta que si desea obtener buenos resultados, probablemente sea mejor definir sus propios selectores XPath para cada sitio web (de noticias) que desee raspar. Aunque hay algunas API para la extracción de contenido HTML, pero como dije, es muy difícil desarrollar un algoritmo que funcione para cada sitio.

Algunas API que puede usar:

alchemyapi.com
diffbot.com
boilerpipe-web.appspot.com
aylien.com
textracto.com

Cuestiones relacionadas