Pregunta

I CÓDIGO una gran cantidad de programas de análisis. Hasta ahora, yo estaba usando el navegador sin cabeza HtmlUnit para analizar y automatización navegador.

Ahora, quiero separar tanto las tareas.

Como el 80% de mi trabajo consiste simplemente analizar, quiero utilizar un analizador de HTML luz, ya que toma mucho tiempo en HtmlUnit a primera carga una página, a continuación, obtener la fuente y luego analizarlo.

Quiero saber qué analizador de HTML es el mejor. El analizador sería mejor si se está cerca de HtmlUnit analizador.


EDIT:

Por mejor, quiero al menos las siguientes características:

  1. Velocidad
  2. Facilidad para localizar cualquier HTMLElement por su "ID" o "nombre" o "tipo de etiqueta".

Sería bueno para mí si no limpia el código HTML sucia. No necesito para limpiar cualquier fuente HTML. Sólo necesito una manera más fácil de moverse a través de HtmlElements y datos de la cosecha de ellos.

¿Fue útil?

Solución

tapón de asistencia: Acabo de lanzar un nuevo analizador de Java HTML: jsoup . Lo menciono aquí porque creo que va a hacer lo que está después.

Su truco de fiesta es una sintaxis selector CSS para encontrar los elementos, por ejemplo:.

String html = "<html><head><title>First parse</title></head>"
  + "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
Element head = doc.select("head").first();

Selector Javadoc para obtener más información.

Este es un nuevo proyecto, por lo que cualquier propuesta de mejora son muy bienvenidos!

Otros consejos

El mejor que he visto hasta ahora es HtmlCleaner :

  

HtmlCleaner es de código abierto analizador HTML escrito en Java. HTML encontrarse en el sitio suele ser sucio, mal formado y no aptos para su posterior procesamiento. Para cualquier consumo grave de dichos documentos, es necesario limpiar primero el desorden y traer el orden a las etiquetas, atributos y texto ordinario. Por el documento HTML dado, HtmlCleaner reordena los elementos individuales y produce XML bien formado. Por defecto, se sigue reglas similares que la mayoría de los navegadores web utilizan con el fin de crear objetos de documento modelo. Sin embargo, el usuario puede proporcionar etiquetas personalizadas y conjunto de reglas para el filtrado de la etiqueta y el equilibrio.

Con HtmlCleaner puede localizar cualquier elemento utilizando XPath.

Para otros analizadores html ver esta pregunta SO .

analizador de Validator.nu, basado en el algoritmo de análisis sintáctico HTML5. Es el analizador utilizado en Mozilla desde 2010-05-03

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