2010-01-23 21 views

Respuesta

7

Hay una docena de bibliotecas de screen scraping escritas en Java. Por citar algunos:

  • TagSoup - un analizador SAX-compatible escrita en Java que, en lugar de analizar bien formados o XML válido, análisis sintáctico de HTML, ya que se encuentra en el salvaje: desagradable y brutal, aunque bastante a menudo lejos de ser corto. TagSoup es diseñado para personas que tienen que procesar este material usando alguna apariencia de una aplicación racional diseño. Al proporcionar una interfaz SAX, , permite que las herramientas XML estándar sean aplicadas incluso al peor HTML.
  • Jericho HTML Parser - Jericho HTML Parser es una biblioteca de Java simple pero potente que permite el análisis y la manipulación de partes de un documento HTML , incluyendo algunas etiquetas del lado del servidor comunes , mientras que reproduce textualmente cualquier HTML no reconocido o no válido. También proporciona funciones de manipulación de formulario HTML de alto nivel . t es ni un analizador de sucesos ni basado en árbol , sino que utiliza una combinación de de búsqueda de texto simple, reconocimiento eficiente de etiqueta y una posición de memoria caché. El texto del documento fuente completo se carga primero en la memoria, y luego solo los segmentos relevantes buscaron para los caracteres relevantes de cada operación de búsqueda .
  • HTML Cleaner - HtmlCleaner reordena elementos individuales y produce XML bien formado a partir de HTML sucio. Sigue reglas similares que utilizan la mayoría de los navegadores web para para crear un modelo de objeto de documento. Un usuario de puede proporcionar etiquetas personalizadas y la regla establecida para el filtrado y el equilibrio de etiquetas.
  • NekoHTML - NekoHTML es un simple escáner equilibrador HTML y etiquetas que permite a los programadores de aplicaciones documentos analizar HTML y accede a la información usando el estándar XML interfaces. El analizador puede escanear archivos HTML y "corregir" muchos errores comunes que los autores humanos (y de la computadora) hacen al escribir documentos HTML . NekoHTML agrega los elementos principales faltantes ; cierra automáticamente los elementos con etiquetas finales opcionales; y pueden manejar etiquetas de elemento en línea no coincidentes .

y muchos más a HTML Screen Scraping Tools written in Java. Pero estos son los mejores para lidiar con cualquier tipo de contenido (entender todo tipo de basura) como mencioné en this previous answer. Sin embargo, esto podría no ser un problema para ti.

Por las dudas, tal vez revise el hilo Nokogiri pure Java status.

Actualización: Un nuevo proyecto ha sido puesto en libertad (el 2010-01-31), jsoup, que ofrece una selector-syntax to find elements. Vea su sitio web para más detalles y/o this answer de su autor.

Cuestiones relacionadas