最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java讀取網(wǎng)頁內(nèi)容并下載圖片的實(shí)例

 更新時(shí)間:2017年09月25日 17:03:14   作者:Lovnx  
這篇文章主要介紹了Java讀取網(wǎng)頁內(nèi)容并下載圖片的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下

Java讀取網(wǎng)頁內(nèi)容并下載圖片的實(shí)例

     很多人在第一次了解數(shù)據(jù)采集的時(shí)候,可能無從下手,尤其是作為一個(gè)新手,更是感覺很是茫然,所以,在這里分享一下自己的心得,希望和大家一起分享技術(shù),如果有什么不足,還請(qǐng)大家指正。寫出這篇目的,就是希望大家一起成長(zhǎng),我也相信技術(shù)之間沒有高低,只有互補(bǔ),只有分享,才能使彼此更加成長(zhǎng)。  

示例代碼:

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class GetContentPicture {
public void getHtmlPicture(String httpUrl) {
URL url;
BufferedInputStream in;
FileOutputStream file;
try {
  System.out.println("取網(wǎng)絡(luò)圖片");
  String fileName = httpUrl.substring(httpUrl.lastIndexOf("/"));
  String filePath = "./pic/";
  url = new URL(httpUrl);

  in = new BufferedInputStream(url.openStream());

  file = new FileOutputStream(new File(filePath+fileName));
  int t;
  while ((t = in.read()) != -1) {
  file.write(t);
  }
  file.close();
  in.close();
  System.out.println("圖片獲取成功");
} catch (MalformedURLException e) {
  e.printStackTrace();
} catch (FileNotFoundException e) {
  e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
}
}

public String getHtmlCode(String httpUrl) throws IOException {
String content ="";
URL uu = new URL(httpUrl); // 創(chuàng)建URL類對(duì)象
BufferedReader ii = new BufferedReader(new InputStreamReader(uu
  .openStream())); // //使用openStream得到一輸入流并由此構(gòu)造一個(gè)BufferedReader對(duì)象
String input;
while ((input = ii.readLine()) != null) { // 建立讀取循環(huán),并判斷是否有讀取值
  content += input;
}
ii.close();
return content;
}

public void get(String url) throws IOException {

String searchImgReg = "(?x)(src|SRC|background|BACKGROUND)=('|\")/?(([\\w-]+/)*([\\w-]+\\.(jpg|JPG|png|PNG|gif|GIF)))('|\")";
String searchImgReg2 = "(?x)(src|SRC|background|BACKGROUND)=('|\")(http://([\\w-]+\\.)+[\\w-]+(:[0-9]+)*(/[\\w-]+)*(/[\\w-]+\\.(jpg|JPG|png|PNG|gif|GIF)))('|\")";

String content = this.getHtmlCode(url);
System.out.println(content);

Pattern pattern = Pattern.compile(searchImgReg);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
  System.out.println(matcher.group(3));
  this.getHtmlPicture(url+matcher.group(3));

}

pattern = Pattern.compile(searchImgReg2);
matcher = pattern.matcher(content);
while (matcher.find()) {
  System.out.println(matcher.group(3));
  this.getHtmlPicture(matcher.group(3));

}
// searchImgReg =
// "(?x)(src|SRC|background|BACKGROUND)=('|\")/?(([\\w-]+/)*([\\w-]+\\.(jpg|JPG|png|PNG|gif|GIF)))('|\")";
}
public static void main(String[] args) throws IOException {
String url = "http://www.baidu.com/";
GetContentPicture gcp = new GetContentPicture();
gcp.get(url);
}
}

如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java多線程之異步Future機(jī)制的原理和實(shí)現(xiàn)

    Java多線程之異步Future機(jī)制的原理和實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Java多線程之異步Future機(jī)制的原理和實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2016-08-08
  • springboot讀取application.yaml文件數(shù)據(jù)的方法

    springboot讀取application.yaml文件數(shù)據(jù)的方法

    這篇文章主要為大家詳細(xì)介紹了springboot讀取application.yaml文件數(shù)據(jù)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Java設(shè)計(jì)模式的策略模式簡(jiǎn)析

    Java設(shè)計(jì)模式的策略模式簡(jiǎn)析

    這篇文章主要介紹了Java設(shè)計(jì)模式的策略模式簡(jiǎn)析,策略模式中定義了一系列的算法族,算法族指的是類似于一系列的行為、策略,策略模式將一系列的行為封裝成類,既可以說是將每一種相類似的行為都封裝成一個(gè)類,也有可能存在特殊的不進(jìn)行封裝的行為,需要的朋友可以參考下
    2023-12-12
  • Java微信公眾平臺(tái)之群發(fā)接口(高級(jí)群發(fā))

    Java微信公眾平臺(tái)之群發(fā)接口(高級(jí)群發(fā))

    這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)之群發(fā)接口,高級(jí)群發(fā)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • SpringCloud開發(fā)課程查詢功能

    SpringCloud開發(fā)課程查詢功能

    這篇文章主要介紹了SpringCloud開發(fā)課程查詢功能,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • SpringSecurit鹽值加密的密碼驗(yàn)證以及強(qiáng)密碼驗(yàn)證過程

    SpringSecurit鹽值加密的密碼驗(yàn)證以及強(qiáng)密碼驗(yàn)證過程

    在密碼加密過程中,鹽值的使用可以增強(qiáng)密碼的安全性,如果忘記存儲(chǔ)鹽值,將無法驗(yàn)證密碼,強(qiáng)密碼應(yīng)包含數(shù)字、字母和特殊字符,長(zhǎng)度應(yīng)在8到30位之間,以提高賬戶安全
    2023-03-03
  • java實(shí)現(xiàn)文件上傳下載至ftp服務(wù)器

    java實(shí)現(xiàn)文件上傳下載至ftp服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)文件上傳下載至ftp服務(wù)器的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

    Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)

    本文主要對(duì)Java FtpClient實(shí)現(xiàn)簡(jiǎn)單的圖片上傳到服務(wù)器的方法進(jìn)行介紹,并且展示的小demo中,對(duì)配置過程中主要碰到的問題:關(guān)于文件權(quán)限的問題也進(jìn)行了說明,下面跟著小編一起來看下吧
    2016-12-12
  • Java自動(dòng)化工具Ant的基礎(chǔ)使用教程

    Java自動(dòng)化工具Ant的基礎(chǔ)使用教程

    這篇文章主要介紹了Java自動(dòng)化工具Ant的基礎(chǔ)使用教程,例子在Windows系統(tǒng)下操作演示,講解了Ant基本的文件操作和屬性,需要的朋友可以參考下
    2016-02-02
  • 全排列算法-遞歸與字典序的實(shí)現(xiàn)方法(Java)

    全排列算法-遞歸與字典序的實(shí)現(xiàn)方法(Java)

    下面小編就為大家?guī)硪黄帕兴惴?遞歸與字典序的實(shí)現(xiàn)方法(Java) 。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04

最新評(píng)論

深水埗区| 六盘水市| 阳信县| 丁青县| 石阡县| 蒙城县| 石阡县| 普兰店市| 姜堰市| 淳安县| 九龙县| 城固县| 兴文县| 四会市| 北海市| 佳木斯市| 郎溪县| 文安县| 尚志市| 耒阳市| 新乡县| 阳原县| 黔西县| 茂名市| 贡山| 澄城县| 芒康县| 桃园县| 娄底市| 板桥市| 五莲县| 凌海市| 高邮市| 长顺县| 新源县| 昌江| 宜丰县| 武冈市| 任丘市| 屏南县| 广汉市|