ダウンロード9

package test;
 
 
public class pro {
 
 
     int s,datanumber;
    String[] data=new String[5000];
    String[] link=new String[5000];
 
 
    public static void main(String[] arsg){
pro t=new pro();    
    }
 
    pro(){
 
        String urlx="https://www.nier.go.jp/16chousakekkahoukoku/factsheet/16prefecture/";
 
        dl sub=new dl();
        sub.makedata(urlx,"SJIS");
        data=sub.data;
        datanumber=sub.datanumber;
 
           int s1=0;
   for(s=1;s<datanumber+1;s++){
   if(data[s].indexOf("北海道")>-1)s1=s; 
   }
 
    int sx=0;    
   for(s=s1;s<datanumber+1;s++){
   if(data[s].indexOf("<li>")>-1)sx=sx+1;
   if(data[s].indexOf("<li>")>-1)link[sx]=data[s];
   }
       int number=sx; 
   for(s=1;s<number+1;s++){
   int p1=link[s].indexOf("\"");    
   int p2=link[s].indexOf("\"",p1+1);  
   link[s]="https://www.nier.go.jp/15chousakekkahoukoku/factsheet/prefecture/"+link[s].substring(p1+1,p2);
 
   }
 
   int tr;
  for(tr=1;tr<48;tr++){
 
     dl sub2=new dl();
     sub2.makedata(link[tr],"SJIS");
     data=sub2.data;
     datanumber=sub2.datanumber;
 
     String web="";
 
     int h=0;
   for(s=1;s<datanumber+1;s++){
  h=0;
  if(data[s].indexOf("設問別調査結果")>-1)h=h+1;
  if(data[s].indexOf("生徒")>-1)h=h+1;
  if(h==2)web=data[s];
  }
 
   int p1=web.indexOf("\"");    
   int p2=web.indexOf("\"",p1+1);  
   web=link[tr].replace("index.html","")+web.substring(p1+1,p2);
 
 
  System.out.println(web);
 
  dlx sub21=new dlx();
  sub21.makedata(web,"data/"+tr+".xlsx");
 
 
  }
 
 
 
 
    }
 
 
}
 
 
 
package test;
 
 
 
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
 
 
public class dl {
 
    int s,datanumber;
    String[] data=new String[5000];
 
    void makedata(String urlx,String code){
 
 
 
        try {
 
            TrustManager[] tm = { new X509TrustManager() {
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
                @Override
                public void checkClientTrusted(X509Certificate[] chain,
                        String authType) throws CertificateException {
                }
                @Override
                public void checkServerTrusted(X509Certificate[] chain,
                        String authType) throws CertificateException {
                }
            } };
            SSLContext sslcontext = SSLContext.getInstance("SSL");
            sslcontext.init(null, tm, null);
 
            HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
                @Override
                public boolean verify(String hostname,
                        SSLSession session) {
                    return true;
                }
            });
 
 
            URL connectUrl = new URL(urlx);
 
            HttpsURLConnection urlconn = (HttpsURLConnection) connectUrl
                    .openConnection();
            urlconn.setRequestMethod("GET");
            urlconn.setSSLSocketFactory(sslcontext.getSocketFactory());
 
            urlconn.connect();
 
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    urlconn.getInputStream(), code));
 
            s=0;
            String line;
            StringBuilder sb = new StringBuilder();
            while ((line = reader.readLine()) != null) {
                s=s+1;
                data[s]=line;
            }
 
            datanumber=s;
 
            reader.close();
            urlconn.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 
package test;
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
 
import java.io.File;
import java.io.*;
 
public class dlx{
 
    int s,datanumber;
    String[] data=new String[5000];
 
 
 
 
 
   void makedata(String urlx,String filex){
 
 
 
        try {
 
            TrustManager[] tm = { new X509TrustManager() {
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
                @Override
                public void checkClientTrusted(X509Certificate[] chain,
                        String authType) throws CertificateException {
                }
                @Override
                public void checkServerTrusted(X509Certificate[] chain,
                        String authType) throws CertificateException {
                }
            } };
            SSLContext sslcontext = SSLContext.getInstance("SSL");
            sslcontext.init(null, tm, null);
 
            HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
                @Override
                public boolean verify(String hostname,
                        SSLSession session) {
                    return true;
                }
            });
 
 
 
 
            URL connectUrl = new URL(urlx);
 
            HttpsURLConnection urlconn = (HttpsURLConnection) connectUrl
                    .openConnection();
            urlconn.setRequestMethod("GET");
            urlconn.setSSLSocketFactory(sslcontext.getSocketFactory());
 
            urlconn.connect();
 
            InputStream in = urlconn.getInputStream();
 
File file = new File(filex); 
FileOutputStream out = new FileOutputStream(file, false);
int b;
while((b = in.read()) != -1){
    out.write(b);
}
 
out.close();
in.close();
 
 
 
 
 
            urlconn.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 
最終更新:2016年12月26日 20:23