Use Java para pegar todas as imagens na página da web:
Use duas expressões regulares:
1. A correspondência regular da tag IMG em html: <img.*Src = (.*?) [^>]*?>?
2. Combine o caminho HTTP no SRC na tag IMG: http:/"? (.*?) (/" |> | // s+)
concluir:
pacote org.swinglife.main; importar java.io.file; importar java.io.fileOutputStream; importar java.io.inputStream; importar java.net.url; importar java.net.urlConnection; importar java.util.arraylist; importar java.util.list; importar java.util.regex.matcher; importar java.util.regex.pattern; /**** Java Crawl Network Images* @author swinglife**/public class CatchImage {// Endereço privado estático final String url = "http://www.csdn.net"; // codificando string final estática privada ecoding = "utf-8"; // Obtenha a etiqueta IMG TAG REGÁRIA PRIVADA STATIC FINAL IMGURL_REG = "<img.*Src = (.*?) [^>]*?>"; // Obtenha o caminho SRC Path String estática privada regular de sequência imgsrc_reg = "http:/"? (.*?) (/"|> | // s+)"; public static void main (string [] args) lança exceção {CatchImage cm = new CatchImage (); // Obter html text conteúdo string html = cm.gethtml (url); // Obtenha a lista de tags de imagem <String> imgul = cm.getImageurl (html); // Obtenha a imagem de endereço SRC da imagem <String> imgsrc = cm.getImagesRC (imgurl); // Baixe a imagem CM.Download (IMGSRC); } / *** * Obtenha conteúdo html * * @param url * @return * @throws Exception * / private string gethtml (string url) lança exceção {url uri = novo url (url); Conexão com urlConnection = URI.OPENCONNEÇÃO (); InputStream in = Connection.getInputStream (); byte [] buf = novo byte [1024]; int length = 0; StringBuffer sb = new StringBuffer (); while ((comprimento = in.read (buf, 0, buf.length))> 0) {sb.append (new string (buf, ecoding)); } in.close (); return sb.toString (); } / *** * Get ImageUrl Endereço * * @param html * @return * / Lista privada <String> getImageurl (string html) {Matcher Matcher = Pattern.compile (imgurl_reg) .matcher (html); List <String> listimgurl = new ArrayList <String> (); while (matcher.find ()) {listimgurl.add (matcher.group ()); } retornar listimgurl; } / *** * Get Imagesrc Endereço * * @param listimageurl * @return * / Lista privada <string> getImagesrc (list <string> listImageurl) {list <string> listimgsrc = new ArrayList <String> (); para (imagem da string: listImageUrl) {Matcher Matcher = Pattern.compile (imgsrc_reg) .matcher (imagem); while (matcher.find ()) {listimgsrc.add (matcher.group (). substring (0, matcher.group (). length () - 1)); }} retornar listimgsrc; }/**** Download da imagem** @param listimgsrc*/private void Download (list <string> listimgsrc) {try {for (string url: listimgsrc) {string imageName = url.substring (url.lastIndexof ("/") + 1, url.l.lmen; URL URI = novo URL (URL); InputStream em = uri.openstream (); FileOutputStream FO = new FileOutputStream (novo File (imageName)); byte [] buf = novo byte [1024]; int length = 0; System.out.println ("Iniciar Download:" + URL); while ((comprimento = in.read (buf, 0, buf.length))! = -1) {fo.write (buf, 0, comprimento); } in.close (); fo.close (); System.out.println (imageName + "Download completo"); }} Catch (Exceção e) {System.out.println ("Download FAIKE"); }}}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.