jsoup抓取豆瓣美女

jopen 9年前發布 | 1K 次閱讀 Java jsoup

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Demo4 {

private static final String url = "http://www.dbmeinv.com/?p=";  
private static final String picPath = "d:/picTest";  
private static String USER_AGENT="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0";  

public static void main(String[] args) {  
    System.out.println("下載完的圖片位于d:/picTest");  
    for (int i = 0; i < 50; i++) {  
            try {  
            Document doc = Jsoup.connect(url+i).userAgent(USER_AGENT).timeout(3000).data("pager_offset", i+1+"").post();  
            Elements img = doc.select("img");  
            for (Element ele : img) {  
                String src = ele.absUrl("src");  
                //System.out.println(src);  
                getImage(src);  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  

    System.out.println("這些足夠多了!");  
    System.out.println("圖片下載完成!");  
}  


private static void getImage(String src) {  
    int indexName = src.lastIndexOf("/");  
    String name = src.substring(indexName, src.length());  
    //System.out.println(name);  
    InputStream in = null;    
    OutputStream out = null;  
    try {  
        URL url = new URL(src);  
        in = url.openStream();  

        //創建文件夾  
        File files = new File(picPath);  
        if(!files.exists())  
            files.mkdirs();  

        out = new BufferedOutputStream(new FileOutputStream(files+name));  
        for(int b;(b=in.read())!=-1;)  
            out.write(b);  
    } catch (Exception e) {  
        e.printStackTrace();  
    }finally{  
        try {  
            out.close();  
            in.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  

    }  

}  

} </pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!