Pregunta

No todos los sitios web exponen bien sus datos, con feeds XML, API, etc.

¿Cómo podría extraer información de un sitio web? Por ejemplo:

...
<div>
  <div>
    <span id="important-data">information here</span>
  </div>
</div>
...

Vengo de un fondo de programación y codificación Java con Apache XMLBeans. ¿Hay algo similar a analizar HTML, cuando sé que la estructura y los datos están entre una etiqueta conocida?

Gracias

¿Fue útil?

Solución

Existen varios analizadores HTML de código abierto para Java.

He usado JTidy en el pasado, y he tenido buena suerte con él. Le dará un DOM de la página html, y debería poder tomar las etiquetas que necesita desde allí.

Otros consejos

Aquí hay un artículo que tiene Un par de herramientas de raspado de pantalla escritas en Java.

En general, parece que quiere echar un vistazo a expresiones regulares , que sí la coincidencia de patrones que estás buscando.

¡Espero que eso ayude!

Java parece una restricción bastante difícil para tal tarea. ¿Es un requisito difícil? Los lenguajes de script son ideales para construir lo que realmente es mucho código de última milla.

Si está abierto a ello, ruby ??+ hpricot lo hace completamente trivial. Puede usar los selectores css o xpath (o ambos) para buscar (y manipular) el contenido en HTML. Tomar el documento, analizarlo y extraer el texto en su ejemplo es literalmente una línea de código.

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