Javaを使用して、Webページ上のすべての画像を取得します。
2つの正規表現を使用します。
1。HTMLのIMGタグを一致させる通常:<img。*src =(。*?)[^>]*?>
2。IMGタグのSRCのHTTPパスを一致させる:http:/"?(。*?)(/" |> | // s+)
成し遂げる:
パッケージorg.swinglife.main; java.io.fileをインポートします。 java.io.fileoutputStreamをインポートします。 java.io.inputStreamをインポートします。 java.net.urlをインポートします。 java.net.urlconnectionをインポートします。 java.util.arraylistをインポートします。 java.util.listをインポートします。 java.util.regex.matcherをインポートします。 java.util.regex.patternをインポートします。 /**** Java Crawl Network Images* @Author SwingLife**/public class Catchimage {//アドレスプライベート静的な最終文字列url = "http://www.csdn.net"; // private private static final string ecoding = "utf-8"のエンコード; // IMGタグを取得しますレギュラープライベートスタチック最終文字列imgurl_reg = "<img。*src =(。*?)[^>]*?>"; // srcパスを取得しますレギュラープライベートスタティック最終文字列imgsrc_reg = "http:/"?(。*?)(/"|> | // s+)"; public static void main(string [] args)スロー例外{catchimage cm = new citchimage(); // htmlテキストコンテンツ文字列html = cm.gethtml(url)を取得します。 //画像タグリストを取得<String> imgurl = cm.getimageurl(html); //画像SRCアドレスリスト<String> IMGSRC = CM.GETIMAGESRC(IMGURL)を取得します。 //画像をダウンロードcm.download(imgsrc); } / *** * html contentを取得 * * @param url * @return * @throws例外 * / private string gethtml(string url)throws exception {url uri = new url(url); urlconnection connection = uri.openconnection(); inputstream in = connection.getInputStream(); byte [] buf = new byte [1024]; int length = 0; stringbuffer sb = new StringBuffer(); while((length = in.read(buf、0、buf.length))> 0){sb.append(new String(buf、ecoding)); } in.close(); return sb.tostring(); } / *** * ImageUrlアドレスを取得 * * @param html * @return * / private list <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()); } return listimgurl; } / *** * get imagesrcアドレス * * @param listimageurl * @return * / private list <string> getimagesRc(list <string> listimageurl){list <string> listimgsrc = new ArrayList <String>(); for(string image:listimageurl){matcher matcher = pattern.compile(imgsrc_reg).matcher(image); while(matcher.find()){listimgsrc.add(matcher.group()。substring(0、matcher.group()。length() - 1)); }} return listimgsrc; }/****画像をダウンロード** @param listimgsrc*/private void download(list <string> listimgsrc){try {for(string url:listimgsrc){string imagename = url.substring(url.lastindexof( "/") + 1、url.length(); url uri = new url(url); inputstream in = uri.openstream(); fileoutputStream fo = new fileoutputStream(new file(imagename)); byte [] buf = new byte [1024]; int length = 0; System.out.println( "ダウンロードを開始:" + url); while((length = in.read(buf、0、buf.length))!= -1){fo.write(buf、0、length); } in.close(); fo.close(); system.out.println(imagename + "download complete"); }} catch(Exception e){System.out.println( "ダウンロードFailed"); }}}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。