[Jsoup 크롤링에 대한 공부]

1. 크롤링이란?

크롤링은 웹사이트의 데이터를 자동으로 수집하는 과정을 의미합니다.
주로 웹 페이지에서 HTML 데이터를 읽고 원하는 정보(텍스트, 이미지, 링크 등)를 추출하여 데이터로 활용합니다.

예시로 뉴스 기사, 상품 정보, 게시글 내용을 자동으로 수집할 때 사용됩니다.

2. Jsoup이란?

Jsoup은 Java 기반의 HTML 파싱 라이브러리로, 웹 크롤링 작업에 자주 사용됩니다.
이 라이브러리를 통해 HTML 문서를 가져오고, DOM 탐색 및 조작, 데이터 추출 등을 쉽게 할 수 있습니다.

3. Jsoup 사용방법

jsoup을 사용하기 이전의 세팅은 다음과 같다.
gradle)

implementation 'org.jsoup:jsoup:1.15.3'

우선 공식 문서의 링크는 다음과 같다.
https://jsoup.org/
위 사이트의 예시를 먼저 보도록 하겠다.

예시)

"위키피디아 홈페이지를 가져와 DOM으로 파싱하고, 'In the news(최근 소식)' 섹션에 있는 헤드라인들을 Element 리스트로 선택하세요. (온라인 샘플, 전체 소스)"

Document doc = Jsoup.connect("https://en.wikipedia.org/").get();
log(doc.title());
Elements newsHeadlines = doc.select("#mp-itn b a");
for (Element headline : newsHeadlines) {
    log("%s\n\t%s", 
        headline.attr("title"), headline.absUrl("href"));
}

connect 메서드

크롤링할 url을 연결한다.

get 메서드

document를 가져온다.

select 메서드

가져온 document에서 element를 찾는다.

class 명 vs id 명

class명이 test인 경우

Elements items = doc.select(".test");

class명이 test인 경우의 a태그만 가져오는 경우

Elements tags = doc.select(".test a");

id명이 test인 경우

Elements items = doc.select("#test");

출처:
1. https://velog.io/@minjiki2/%ED%81%AC%EB%A1%A4%EB%A7%81-Java%EB%A1%9C-%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81%ED%95%98%EA%B8%B0-Jsoup
2. https://diary-developer.tistory.com/12
3. https://jobc.tistory.com/78

profile
내가 있는 그 조직에서 가장 성실하기만 하자

0개의 댓글