Use Java para obtener todas las imágenes en la página web:
Use dos expresiones regulares:
1. La coincidencia regular de la etiqueta IMG en html: <img.*Src = (.*?) [^>]*?>?
2. Haga coincidir la ruta http en src en la etiqueta img: http:/"? (.*?) (/" |> | // s+)
lograr:
paquete org.swinglife.main; import java.io.file; import java.io.fileOutputStream; import java.io.inputstream; import java.net.url; import java.net.urlconnection; import java.util.arrayList; import java.util.list; import java.util.regex.matcher; import java.util.regex.pattern; /**** Java Crawl Network Images* @author swinglife**/public class Cattimage {// Dirección de cadena final estática privada url = "http://www.csdn.net"; // codificación de cadena final estática privada ECODING = "UTF-8"; // Obtenga la etiqueta IMG String final privada Final String imgurl_reg = "<img.*Src = (.*?) [^>]*?>"; // Obtener la ruta SRC regular static static final string imgsrc_reg = "http:/"? (.*?) (/"|> | // s+)"; public static void main (string [] args) lanza la excepción {CatchImage cm = new CatchImage (); // Obtener cadena de contenido de texto HTML html = cm.gethtml (url); // Obtenga la lista de etiquetas de imagen <String> imgurl = cm.getImageUrl (html); // Obtenga la lista de direcciones SRC de imagen <String> imgsrc = cm.getImagesrc (imgurl); // Descargar la imagen CM.Download (IMGSRC); } / *** * Obtener contenido html * * @param url * @return * @throws excepción * / private string gethtml (string url) arroja excepción {url uri = new url (url); URLConnection Connection = uri.openconnection (); InputStream in = Connection.getInputStream (); byte [] buf = nuevo byte [1024]; int longitud = 0; StringBuffer sb = new StringBuffer (); while ((longitud = in.read (buf, 0, buf.length))> 0) {sb.append (new String (buf, ecoding)); } in.close (); return sb.ToString (); } / *** * Get ImageUrl Dirección * * @param html * @return * / private list <String> getImageUrl (string html) {matcher matcher = patrón.compile (imgurl_reg) .matcher (html); List <String> ListimGurl = New ArrayList <String> (); while (matcher.find ()) {listimgurl.add (matcher.group ()); } return listImGurl; } / *** * Obtenga la dirección de IMOSSRC * * @param listImageUrl * @return * / private list <String> getImageSrc (list <string> listImageUrl) {list <string> listimgSrc = new ArrayList <String> (); for (imagen de cadena: listImageUrl) {matcher matcher = patrón.compile (imgsrc_reg) .matcher (imagen); while (matcher.find ()) {listImgSrc.Add (matcher.group (). substring (0, matcher.group (). longitud () - 1)); }} return listImgSrc; }/**** Descargar imagen** @param listimgsrc*/private void download (list <string> listimgsrc) {try {for (string url: listimgsrc) {string imageName = url.substring (url.lastindexof ("/") + 1, url.length ()); URL uri = nueva URL (URL); InputStream in = uri.openStream (); FileOutputStream fo = new FileOutputStream (nuevo archivo (ImageName)); byte [] buf = nuevo byte [1024]; int longitud = 0; System.out.println ("Iniciar descarga:" + url); while ((longitud = in.read (buf, 0, buf.length))! = -1) {fo.write (buf, 0, longitud); } in.close (); fo.close (); System.out.println (nombre de imaginación + "descargar completo"); }} catch (Exception e) {System.out.println ("Descargar fallido"); }}}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.