Pregunta

Me gustaría analizar una página HTML y extraer el texto significativo de ella. Alguien sabe algunos algoritmos buenos para hacer esto?

I desarrollar mis aplicaciones sobre raíles, pero creo que el rubí es un poco lento en esto, así que creo que si existe alguna biblioteca bien en c para este sería apropiado.

Gracias !!

PD: Por favor, no recomendar nada con Java

ACTUALIZACIÓN: He encontrado esta texto del enlace

Por desgracia, es en python

¿Fue útil?

Solución

Nokogiri , que es rápido y escrito en C , por Ruby.

(Uso de expresiones regulares para analizar expresiones recursivas como el HTML es notoriamente difícil y propenso a errores y yo no iría por ese camino . Sólo menciono esto en la respuesta ya que esta cuestión parece surgir una y otra vez.)

Con un analizador real, como por ejemplo Nokogiri mencionó anteriormente, también obtiene el beneficio adicional de que la estructura y la lógica del documento HTML se conserva, ya veces que realmente necesita esas pistas.

Otros consejos

Soluciones de integración con Rubí

Soluciones externas

Lynx es capaz de hacer esto. Esto es de código abierto si quieres echar un vistazo a él.

Se debe quitar toda la parte de ángulo entre corchetes del texto y luego colapsar los espacios en blanco. En teoría, el < y > no deberían estar allí en otros casos. Las páginas contienen &lt; y &gt; todas partes en lugar de ellos.

El colapso de los espacios en blanco:. Convertir todos los tabuladores, nuevas líneas, etc a los espacios, a continuación, reemplace cada secuencia de espacios a un solo espacio

ACTUALIZACIÓN:. Y usted debe comenzar después de encontrar la etiqueta <body>

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