sólo tiene que utilizar un simple HTML parser, como jTidy, y luego get all elements by tag nameimg
y luego recoger el atributo src
de cada uno en un List<String>
o tal vez List<URI>
.
Puede obtener un InputStream
de URL
usando URL#openStream()
y luego alimentarlo a cualquier analizador HTML que desee utilizar. He aquí un ejemplo patada de salida:
InputStream input = new URL("http://www.stackoverflow.com").openStream();
Document document = new Tidy().parseDOM(input, null);
NodeList imgs = document.getElementsByTagName("img");
List<String> srcs = new ArrayList<String>();
for (int i = 0; i < imgs.getLength(); i++) {
srcs.add(imgs.item(i).getAttributes().getNamedItem("src").getNodeValue());
}
for (String src: srcs) {
System.out.println(src);
}
Sin embargo, debo admitir que HtmlUnit según lo sugerido por Bozho de hecho se ve mejor.
¿Necesita un programa o una biblioteca? –
¿Qué quiere decir lo siento? Solo necesito un archivo .jar o algo que pueda vincular a un programa Java existente que estoy escribiendo. Imagino que el programa sería bastante simple, solo necesito la operación de extracción de imágenes – Phil
No creo que encuentre ninguna biblioteca que se adapte exactamente a su escenario. Deberá usar un analizador y escribir algún código de descarga usted mismo. – craftsman