這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用Java如何爬蟲(chóng)抓取圖片并保存,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),巢湖企業(yè)網(wǎng)站建設(shè),巢湖品牌網(wǎng)站建設(shè),網(wǎng)站定制,巢湖網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,巢湖網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.MalformedURLException; 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; /* * 網(wǎng)絡(luò)爬蟲(chóng)取數(shù)據(jù) * * */ public class JianDan { public static String GetUrl(String inUrl){ StringBuilder sb = new StringBuilder(); try { URL url =new URL(inUrl); BufferedReader reader =new BufferedReader(new InputStreamReader(url.openStream())); String temp=""; while((temp=reader.readLine())!=null){ //System.out.println(temp); sb.append(temp); } } catch (MalformedURLException e) { // TODO 自動(dòng)生成的 catch 塊 e.printStackTrace(); } catch (IOException e) { // TODO 自動(dòng)生成的 catch 塊 e.printStackTrace(); } return sb.toString(); } public static ListGetMatcher(String str,String url){ List result = new ArrayList (); Pattern p =Pattern.compile(url);//獲取網(wǎng)頁(yè)地址 Matcher m =p.matcher(str); while(m.find()){ //System.out.println(m.group(1)); result.add(m.group(1)); } return result; } public static void main(String args[]){ String str=GetUrl("http://www.163.com"); List ouput =GetMatcher(str,"src=\"([\\w\\s./:]+?)\""); for(String temp:ouput){ //System.out.println(ouput.get(0)); System.out.println(temp); } String aurl=ouput.get(0); // 構(gòu)造URL URL url; try { url = new URL(aurl); // 打開(kāi)URL連接 URLConnection con = (URLConnection)url.openConnection(); // 得到URL的輸入流 InputStream input = con.getInputStream(); // 設(shè)置數(shù)據(jù)緩沖 byte[] bs = new byte[1024 * 2]; // 讀取到的數(shù)據(jù)長(zhǎng)度 int len; // 輸出的文件流保存圖片至本地 OutputStream os = new FileOutputStream("a.png"); while ((len = input.read(bs)) != -1) { os.write(bs, 0, len); } os.close(); input.close(); } catch (MalformedURLException e) { // TODO 自動(dòng)生成的 catch 塊 e.printStackTrace(); } catch (IOException e) { // TODO 自動(dòng)生成的 catch 塊 e.printStackTrace(); } } }
運(yùn)行輸出:
上述就是小編為大家分享的使用Java如何爬蟲(chóng)抓取圖片并保存了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。