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