2016년 3월 17일 목요일

[JAVA] 자바에서 웹크롤러(Web Crawler) 구현하기

[JAVA] 자바에서 웹크롤러(Web Crawler) 구현하기



가끔 특정 웹페이지의 특정 문자열을 프로그램으로 가져오고 싶을 때가 있다.
이럴때 간단하게 할 수 있는 방법이 웹크롤러를 구현해서 해당 웹페이지의 소스코드를 가져오는 것이다.

가져온 소스코드에서 split함수로 필요한 문자열을 추출해 내면 된다.

아래 예제는 예제사이트인 example.com의 소스코드를 추출해서 출력하는 프로그램이다.

import java.net.*;
import java.io.*;

public class WebCrawler {

    public static void main(String[] args) {
        try{
          //example.com은 연습으로 사용하기 위한 페이지이다. 간단한 페이지로 소스코드의 양도 적다.
            String urlstr = "http://www.example.com";
            //URL 문자열을 처리하기 위해 URL클래스를 이용한다.
            URL url = new URL(urlstr);

            //소스코드를 가져오기 위한 스트림을 선언한다.
            BufferedReader bf;
            String line;

      //URL클래스의 openStream()함수로 지정한 웹주소의 소스코드를 받아올 수 있다.
            bf = new BufferedReader(new InputStreamReader(url.openStream()));

            while((line=bf.readLine())!=null){
                System.out.println(line);
            }

            //스트림을 닫아준다.
            bf.close();
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
    }
}

댓글 없음:

댓글 쓰기