• jsoup抓取豆瓣美女


    package com.huowolf;
    
    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();
    			}
    			
    		}
    		
    	}
    }
    

    程序已打包,拿去双击就可以执行,下载地址:http://pan.baidu.com/s/1mgKiQiG

    执行结果图:


  • 相关阅读:
    Angular Universal 学习笔记
    SAP Spartacus 如何获得当前渲染页面的 CMS 元数据
    Angular 服务器端渲染的学习笔记(二)
    Angular 服务器端渲染的学习笔记(一)
    第三方外部 Saas提供商如何跟使用 SAP 系统的客户进行对接接口集成
    如何从 SAP Spartacus Product Detail 页面,找到其 Angular 实现 Component 的位置
    具备自动刷新功能的 SAP ABAP ALV 报表
    C++学习目录
    c--条件编译
    c--文件读写--二进制
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6715680.html
Copyright © 2020-2023  润新知