Gunakan Java untuk mengambil semua gambar di halaman web:
Gunakan dua ekspresi reguler:
1. Pencocokan reguler tag IMG di html: <img.*Src = (.*?) [^>]*?>
2. Cocokkan jalur http di SRC di tag IMG: http:/"? (.*?) (/" |> | // s+)
menyelesaikan:
paket org.swinglife.main; impor java.io.file; impor java.io.fileoutputStream; impor java.io.inputstream; impor java.net.url; impor java.net.urlconnection; impor java.util.arraylist; impor java.util.list; impor java.util.regex.matcher; impor java.util.regex.pattern; /**** Java Crawl Network Images* @Author SwingLife**/Public Class CatchImage {// alamat private static final string url = "http://www.csdn.net"; // mengkode string final statis privat Ecoding = "UTF-8"; // Dapatkan tag img string final statis privat reguler imgurl_reg = "<img.*Src = (.*?) [^>]*?>"; // Dapatkan jalur src reguler string final statis privat imgsrc_reg = "http:/"? (.*?) (/"|> | // s+)"; public static void main (string [] args) melempar Exception {catchImage cm = new CatchImage (); // Dapatkan html teks konten string html = cm.getHtml (url); // Dapatkan daftar tag gambar <string> imgurl = cm.getImageUrl (html); // Dapatkan Daftar Alamat SRC Gambar <String> imgsrc = CM.GetImageSrc (IMGURL); // unduh gambar cm.download (imgsrc); } / *** * Dapatkan konten html * * @param url * @return * @throws Exception * / Private String getHtml (string url) melempar pengecualian {url uri = url baru (url); Koneksi UrlConnection = URI.Openconnection (); InputStream in = connection.getInputStream (); byte [] buf = byte baru [1024]; panjang int = 0; StringBuffer SB = StringBuffer baru (); while ((length = in.read (buf, 0, buf.length))> 0) {sb.append (string baru (buf, ecoding))); } in.close (); return sb.tostring (); } / *** * Dapatkan alamat ImageUrl * * @param html * @return * / daftar pribadi <string> getImageUrl (string html) {matcher matcher = pola.compile (imgurl_reg) .matcher (html); Daftar <String> listImgUrl = ArrayList baru <string> (); while (matcher.find ()) {listImgurl.add (matcher.group ()); } return listImgurl; } / *** * Dapatkan alamat ImagesRC * * @param listImageUrl * @return * / Daftar privat <string> getImageRc (Daftar <String> listImageUrl) {Daftar <String> listImgsrc = ArrayList baru <string> (); untuk (gambar string: listImageUrl) {matcher matcher = pola.compile (imgsrc_reg) .matcher (gambar); while (matcher.find ()) {listimgsrc.add (matcher.group (). substring (0, matcher.group (). length () - 1)); }} return listImgsrc; }/**** Unduh gambar** @param listImgsrc*/private void download (daftar <string> listImgsrc) {coba {untuk (string url: listImgsrc) {string imagename = url.substring (url.lastIndexof ("/") + 1, url.length ()); Url uri = URL baru (url); Inputstream in = uri.openstream (); FileOutputStream fo = new FileOutputStream (File baru (ImageName)); byte [] buf = byte baru [1024]; panjang int = 0; System.out.println ("Mulai Unduh:" + URL); while ((length = in.read (buf, 0, buf.length))! = -1) {fo.write (buf, 0, panjang); } in.close (); fo.close (); System.out.println (ImageName + "Unduh Lengkap"); }} catch (Exception e) {System.out.println ("Unduh Gagal"); }}}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.