크롤링 작업

jsoup 라이브러리의 핵심 클래스

문서 클래스: 연결을 통해 얻은 전체 HTML 문서

요소 클래스: 요소의 데이터 유형

요소 클래스: 문서의 HTML 요소

과제) 전자정부 프레임워크 홈페이지에서 공고제목만 크롤링하여 egovframe.txt 파일에 저장

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.FileWriter;
import java.io.PrintWriter;

public class Test05_egovframe {
    public static void main(String() args) {
        String URL = "<https://www.egovframe.go.kr/home/sub.do?menuNo=74>";
        String file = "D:/java202301/egovframe.txt";
        try (
                FileWriter fw = new FileWriter(file, false);
                PrintWriter out = new PrintWriter(fw, true);
        ){

            for (int i = 0; i < 22; i++) {
            	// 공지사항 페이지의 페이지번호를 변수화
                String params = "&bbsId=6&pagerOffset=" + (i*10);
                
                 // i번째 페이지 가져오기
                Document doc = Jsoup.connect(URL+params).get();
                
                 // 페이지 소스 중 제목부분 뽑아와서 elements로 저장
                Elements elements = doc.select(".lnk");
                
                 // elements 배열에 담긴 element를 하나씩 가져오기
                for (Element element : elements) {
                    out.println(element.text()); //egovframe.txt 파일에 담기
                }
            }

        } catch (Exception e) {
            System.out.println("크롤링 실패");
            e.printStackTrace();
        }
    }
}