loading

새소식

Framework/Springboot

[Springboot] 스프링부트 데이터 수집

  • -
728x90
반응형

▶ 데이터 수집

 1. 기본 방법으로 수집

package prac01;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class 데이터수집1 {
    public static void main(String[] args) throws IOException {
        URL url = new URL("http://ggoreb.com/quiz/harry_potter.txt");
        URLConnection con = url.openConnection();
        InputStream in = con.getInputStream(); // getFileInputStream(); 으로 작성할경우 내장되어있는 파일을 가져올 수 있음
        String result = "";
        while(true) {
            int data = in.read();
            if(data == -1) break;
            char c = (char) data;
            result += c;
        }
        System.out.println(result);

    }
}

 

 2.  euc-kr 문자 표현 방식으로 변경 후 수집

package prac01;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class 데이터수집2 {
    public static void main(String[] args) throws IOException {
        URL url = new URL("http://ggoreb.com/quiz/운수좋은날.txt");
        URLConnection con = url.openConnection();
        InputStream in = con.getInputStream();
        InputStreamReader isr = new InputStreamReader(in, "euc-kr");
        BufferedReader reader = new BufferedReader(isr);
        String result = "";
        while(true) {
            String data = reader.readLine();
            if(data == null) break;
            result += data + "\n";
        }
        System.out.println(result);
    }
}

 

 3.  Jsoup (웹 크롤링 라이브러리) 를 이용한 데이터 수집

public class 데이터수집3 {
	public static void main(String[] args) throws IOException {
		Connection con = Jsoup.connect("http://ggoreb.com/hrd");
		Document doc = con.get();
		Elements items = doc.select("a");
		for (int i = 0; i < items.size(); i++) {
			Element item = items.get(i);
			String text = item.text();
			String href = item.attr("href");
			System.out.println(text);
			System.out.println(href);
		}
	}
}

 

728x90
반응형
Contents

📝 포스팅 주소를 복사했습니다 📝

이 글이 도움이 되었다면 공감 부탁드립니다👍