zoukankan      html  css  js  c++  java
  • https://www.meitulu.com/ java下载图片

      1 package downloadpic;
      2 
      3 import org.jsoup.Jsoup;
      4 import org.jsoup.nodes.Document;
      5 import org.jsoup.select.Elements;
      6 
      7 import javax.print.Doc;
      8 import java.io.File;
      9 import java.io.FileOutputStream;
     10 import java.io.IOException;
     11 import java.io.InputStream;
     12 import java.net.URL;
     13 import java.net.URLConnection;
     14 
     15 public class donloadBeauty extends constantString {
     16     public static int target = 18;
     17     public static void main(String argv[]) throws IOException {
     18         Document document = Jsoup.connect(new constantString().url_root).get();
     19         //System.out.println(document.text());
     20         Elements number_beauty_elements = document.getElementsByClass("p_title");
     21         int number_beauty = number_beauty_elements.size();
     22         System.out.println(number_beauty);
     23 
     24         //to get all the name and url
     25         String[] beauty = new String[number_beauty];
     26         String[] beauty_title = new String[number_beauty];
     27         for (int i = 0; i < number_beauty; i++) {
     28             beauty[i] = number_beauty_elements.get(i)
     29                     .select("a[href]").attr("href").toString();
     30             beauty_title[i] = number_beauty_elements.get(i)
     31                     .text();
     32             System.out.println(i + ":	file name:" + beauty_title[i] + "
    " + "url is: " + beauty[i]);
     33         }
     34 
     35         //test just one url
     36         //to get user name
     37         String user_home = "/home/" + System.getProperty("user.name") + "/Beauty/";
     38         //to creat folder
     39         String file_full_path = user_home + beauty_title[target].replaceAll("/", "");
     40         File file = new File(file_full_path);
     41         if (file.exists()) {
     42             System.out.println("file already exits");
     43         } else {
     44             file.mkdirs();
     45         }
     46 
     47         //get first element content
     48         Document document1_beauty = Jsoup.connect(beauty[target]).get();
     49         String pic_number_string = null;
     50         //pic_number.startsWith("图片数量:");
     51         //int pic_number = Integer.parseInt(pic_number_string);
     52         Elements elements_p = document1_beauty.getElementsByClass("c_l").select("p");
     53         int size_p = elements_p.size();
     54         int position = 0;
     55         for(int n = 0; n < size_p; n ++){
     56             pic_number_string = elements_p.get(n).text().toString();
     57             if(pic_number_string.endsWith("张")){
     58                 position = n;
     59                 break;
     60             }
     61         }
     62         pic_number_string = document1_beauty.getElementsByClass("c_l")
     63                 .select("p").get(position).text().toString();
     64         System.out.println(pic_number_string);
     65 
     66         //to get the number
     67         int index_last_0 = pic_number_string.lastIndexOf(" ");
     68         String temp_string = pic_number_string.substring(0, index_last_0);
     69         System.out.println(temp_string);
     70         int index_last_1 = temp_string.lastIndexOf(" ");
     71         //System.out.println(pic_number_string.substring(index_last_1));
     72 
     73         String number_string = pic_number_string.substring(index_last_1, index_last_0)
     74                 .replaceAll(" ", "");
     75         System.out.println(number_string);
     76         int pic_number = Integer.parseInt(number_string);
     77         System.out.println("the pic number is: " + pic_number);
     78 
     79         //get specific url
     80         Document document_1 = Jsoup.connect(beauty[target]).get();
     81         Elements elements = new Elements();
     82         int i = document_1.getElementsByClass("content").select("img").size();
     83 
     84         System.out.println("" + i);
     85         for (int j = 0; j < i; j++) {
     86             String href = document_1.getElementsByClass("content").select("img")
     87                     .get(j).attr("src").toString();
     88             System.out.println(j + "," + "the url is:" + href);
     89         }
     90         String url_people = document_1.getElementsByClass("content").select("img")
     91                 .get(0).attr("src").toString();
     92         System.out.println(url_people);
     93 
     94         //to get all the pic file url
     95         int pic_index_last_0 = url_people.lastIndexOf("/");
     96         String temp_string_temp = url_people.substring(0, pic_index_last_0);//to get https://mtl.gzhuibei.com/images/img/20779
     97         String userful_string = url_people.substring(pic_index_last_0);//to get 1.jpg
     98         int to_get_dot = userful_string.lastIndexOf(".");
     99         String extension_string = userful_string.substring(to_get_dot);//to get .jpg
    100         System.out.println(extension_string);
    101         System.out.println(userful_string);
    102         System.out.println(temp_string_temp);
    103         String[] beauty_full_url = new String[pic_number];
    104         for (int k = 0; k < pic_number; k++) {
    105             beauty_full_url[k] = temp_string_temp + "/" + (k+1) + extension_string;
    106             System.out.println(k +"	" + beauty_full_url[k]);
    107         }
    108 
    109         //to download the file
    110         int bytesum = 0;
    111         int byteread = 0;
    112         System.out.println(file_full_path +  "	url is:	" + target + ":	"+ beauty[target]);
    113         //System.out.println(target + beauty[target]);
    114         for(int l = 0; l < pic_number; l ++){
    115             URL url = new URL(beauty_full_url[l]);
    116             String file_name = l + 1 + extension_string;
    117             String file_full_name = file_full_path + "/" + file_name;
    118             File file_new = new File(file_full_name);
    119             if(file_new.exists()){
    120                 System.out.println("file already exists!");
    121             }else{
    122                 try{
    123                     URLConnection conn = url.openConnection();
    124                     InputStream inStream = conn.getInputStream();
    125                     FileOutputStream fs = new FileOutputStream(file_full_name);
    126 
    127                     byte[] buffer = new byte[2048];
    128                     int length;
    129                     while ((byteread = inStream.read(buffer)) != -1) {
    130                         bytesum += byteread;
    131                         //System.out.println(bytesum / 1024);
    132                         fs.write(buffer, 0, byteread);
    133                     }
    134                     System.out.println("**********" + file_name + "**********");
    135 
    136                 } catch (Exception e) {
    137                     e.printStackTrace();
    138                 }
    139             }
    140         }
    141     }
    142 }
  • 相关阅读:
    字符串排序
    螺旋方阵
    Palindrome(最长回文串manacher算法)O(n)
    最长回文串(manacher算法)
    hdu 1236 1.3.2排名
    hdu 1062 Text Reverse
    VS2010/MFC对话框四:为控件添加消息处理函数
    VS2010/MFC对话框三:创建对话框类和添加控件变量
    VS2010/MFC对话框二:为对话框添加控件)
    VS2010/MFC对话框一:创建对话框模板和修改对话框属性
  • 原文地址:https://www.cnblogs.com/zjhangia/p/12526562.html
Copyright © 2011-2022 走看看