package com.enation.newtest; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class TestUrl { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //System.out.println(""); String url="http://www.qq.com/"; String encoding="gb2312"; //1.根據網絡和頁面的編碼集 抓取網頁的源代碼 String htmlResouce=GetHtmlResouceByURL(url, encoding); System.out.println(htmlResouce); //2.解析網頁的源代碼 jsoup jar包 Document document = Jsoup.parse(htmlResouce); //ex:抓取圖片例子 圖片 標簽<img src=" " alt=" " width=" " height=" "> Elements elements=document.getElementsByTag("img"); for(Element element : elements) { String imgSrc=element.attr("src"); //獲取src屬性的值 System.out.println(imgSrc); //下載到本地文件夾中 //downImgs(imgSrc, "D:\\nouse"); } } /** * 根據網址和頁面的編碼集 抓取網頁 * @param url 網址 * @param encoding 網頁的編碼集 * @return 源代碼 * * */ public static String GetHtmlResouceByURL(String url,String encoding){ // 建立容器存儲網頁源代碼 StringBuffer buffer=new StringBuffer(); URL urlobj=null; URLConnection uc =null; InputStreamReader isr=null; BufferedReader input=null; try { //建立網絡連接 urlobj =new URL(url); //打開網絡連接 uc = urlobj.openConnection(); //建立網絡輸入流 isr=new InputStreamReader(uc.getInputStream(),encoding); //建立緩沖流讀輸入的數據 input=new BufferedReader(isr); //循環遍歷數據 String line=null; while((line=input.readLine())!=null){ //添加換行 buffer.append(line+"\n"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("連接源代碼失敗"); }finally{ try { if(isr!=null) isr.close(); if(input!=null) input.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("關閉失敗"); } } return buffer.toString(); } }