實現java讀取網頁內容並下載網頁中出現的圖片
實現java讀取網頁內容並下載網頁中出現的圖片2009年04月16日 星期四 上午 10:30package com;
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("取網路圖片");
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); // 建立URL類物件
BufferedReader ii = new BufferedReader(new InputStreamReader(uu
.openStream())); // //使用openStream得到一輸入流並由此構造一個BufferedReader物件
String input;
while ((input = ii.readLine()) != null) { // 建立讀取迴圈,並判斷是否有讀取值
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);
}
}
相關文章
- java 爬取網頁內容。 標題、圖片等Java網頁
- 將內表下載到網頁,並開啟網頁:網頁
- 自學python網路爬蟲,從小白快速成長,分別實現靜態網頁爬取,下載meiztu中圖片;動態網頁爬取,下載burberry官網所有當季新品圖片。Python爬蟲網頁
- html網頁內容如何實現上標和下標效果HTML網頁
- c#簡單實現提取網頁內容C#網頁
- 網頁設計內容網頁中關於圖片預覽的設計網頁
- 網頁點選實現下載效果網頁
- 使用CInternetSession和CHttpFile讀取網頁內容SessionHTTP網頁
- 如何使用ScrapySharp下載網頁內容網頁
- 使用Python實現網頁中圖片的批次下載和水印新增儲存Python網頁
- 網頁正文及內容圖片提取演算法網頁演算法
- 將網頁內容以圖片形式儲存在本地網頁
- android Gallery實現非同步載入網路圖片 並只載入當前停止頁面圖Android非同步
- 使用了`wreq`庫來下載網頁內容網頁
- NSURLConnection類實現下載網路圖片
- PHP如何實現網頁截圖?PHP網頁
- 文章內容分頁功能實現
- 爬網入門:JAVA抓取網站網頁內容Java網站網頁
- js實現父頁面獲取iframe子頁面內容程式碼JS
- php獲取網頁內容的三種方法PHP網頁
- node:爬蟲爬取網頁圖片爬蟲網頁
- toapi:抓取任意網頁內容並提供 HTTP API獲取資料API網頁HTTP
- 怎麼更改網頁上的內容並儲存網頁
- 修改網頁內容的方法網頁
- CURL抓取網頁內容並用正則提取。網頁
- 淺談小程式內嵌網頁及內嵌網頁跳轉分享實現網頁
- Django實現圖片上傳並前端頁面顯示Django前端
- 拖動滾動條實現網頁內容自動載入程式碼例項網頁
- C#實現網頁截圖功能C#網頁
- 透過Requests模組獲取網頁內容並使用BeautifulSoup進行解析網頁
- html2canvas.js實現前端將頁面轉化為圖片並長按下載HTMLCanvasJS前端
- IOS遍歷網頁獲取網頁中<img>標籤中的圖片urliOS網頁
- python 爬蟲之requests爬取頁面圖片的url,並將圖片下載到本地Python爬蟲
- Chrome 獲取網頁顏色(文字、圖片)Chrome網頁
- JavaScript 獲取網頁尾本程式碼內容JavaScript網頁
- 網頁可讀內容抽取 API 資料介面網頁API
- 以Referer方案寫一個圖片防盜鏈服務並實現網頁端"破解"網頁
- 以Referer方案寫一個圖片防盜鏈服務並實現網頁端”破解”網頁