Mozilla Analizador para la captura de imágenes
-
18-09-2019 - |
Pregunta
Estoy escribiendo una aplicación que lleva en el código HTML de una página y extrae ciertos elementos (como tablas) de la página y devuelve el código HTML para esos elementos. Estoy tratando de hacer esto en Java usando el analizador de Mozilla para simplificar la navegación a través de la página, pero estoy teniendo problemas para extraer el código HTML necesario.
Tal vez toda mi enfoque es erróneo, también conocido como analizador de Mozilla, por lo que si hay mejores soluciones, estoy abierto a sugerencias
String html = ///what ever the code is
MozillaParser p = // instantiate parser
// pass in html to parse which creates a dom object
Document d = p.parse(html);
// get a list of all the form elements in the page
NodeList l = d.getElementsByTagName("form");
// iterate through all forms
for(int i = 0; i < l.getLength(); i++){
// get a form
Node n = l.item(i);
// print out the html code for just this form.
// This is the portion I haven't figured out.
// I just made up the innerHTML method, but thats
// the end result I'm desiring, a way to just see
// the html code for a particular node
System.out.println( n.innerHTML() );
}
Solución
Mozilla analizador parece un exceso aquí, he utilizado Jericho con cierto éxito por sólo el tipo de cosas que está haciendo.
Otros consejos
He tenido un grado de éxito usando htmlcleaner ( http://htmlcleaner.sourceforge.net/): es bastante rápido y tiene opciones para que pueda determinar la forma "estricta" que debería ser. Trato de evitar raspar html siempre que sea posible, sin embargo, por las razones expuestas obivous (datos a través de REST u otra forma de API tiende a ser más fiables, legales, más fácil de analizar etc.etc.).
He codificado una envoltura HTML con Javascript en la plataforma de Mozilla. I paquete de los códigos en dos extensiones para el navegador Firefox. Uno de ellos, llamado como MetaStudio, es una herramienta de definición de esquema de datos que anotar páginas web semánticamente. El otro, llamado como DataScraper, es una herramienta para extraer fragmentos de datos de las páginas web y las formateado en archivos XML.
Todos los códigos fuente son legibles. Por favor, vaya a http://www.gooseeker.com para descargarlos.