Jsoup 標簽選擇器 選擇img標簽中src的值


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();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM