웹 크롤링은 인터넷 상에 있는 웹 페이지를 자동으로 탐색하여 정보를 수집하는 작업을 의미합니다. 이를 통해 웹 페이지에서 데이터를 추출하고 분석할 수 있습니다. 주로 정보 수집, 검색 엔진 인덱싱, 가격 비교 등 다양한 목적으로 사용됩니다.
Jsoup은 Java로 작성된 HTML 파싱 및 조작을 위한 강력한 라이브러리입니다. 웹 크롤링 작업에 Jsoup을 사용하면 HTML 문서를 쉽게 파싱하고 원하는 정보를 추출할 수 있습니다.
- HTML 파싱: Jsoup을 사용하여 HTML 문서를 쉽게 파싱할 수 있습니다.
- DOM 조작: 파싱한 HTML 문서를 DOM으로 표현하여 요소를 선택하고 조작할 수 있습니다.
- CSS 선택자 지원: CSS 선택자를 사용하여 HTML 문서의 요소를 쉽게 선택할 수 있습니다.
- HTML 요소 추출: Jsoup을 사용하여 HTML 문서에서 특정한 요소를 추출할 수 있습니다.
다음은 Jsoup을 사용하여 위키피디아에서 제목을 추출하는 간단한 예시 코드입니다.
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupCrawler {
public static void main(String[] args) {
try {
// 웹사이트 주소
String url = "https://en.wikipedia.org/";
// 웹 페이지 가져오기
Document doc = Jsoup.connect(url).get();
// 제목 확인하기
System.out.println("Title: " + doc.title());
// 선택자를 사용하여 최근 뉴스 헤드라인 요소를 선택합니다.
Elements newsHeadlines = doc.select("#mp-itn b a");
// 선택된 각 뉴스 헤드라인 요소에 대해 반복합니다.
for (Element headline : newsHeadlines) {
// 각 뉴스 헤드라인의 제목과 URL을 출력합니다.
System.out.println(String.format("%s\n %s", headline.attr("title"), headline.absUrl("href")));
}
} catch (Exception e) {
System.err.println("An error occurred: " + e.getMessage());
}
}
}
위 코드를 실행하여 크롤링한 결과는 다음과 같습니다.
Title: Wikipedia, the free encyclopedia
2024 Hualien earthquake
https://en.wikipedia.org/wiki/2024_Hualien_earthquake
2024 Israeli bombing of the Iranian embassy in Damascus
https://en.wikipedia.org/wiki/2024_Israeli_bombing_of_the_Iranian_embassy_in_Damascus
Mohammad Reza Zahedi
https://en.wikipedia.org/wiki/Mohammad_Reza_Zahedi
2024 Mmamatlakala bus crash
https://en.wikipedia.org/wiki/2024_Mmamatlakala_bus_crash
Francis Scott Key Bridge collapse
https://en.wikipedia.org/wiki/Francis_Scott_Key_Bridge_collapse
2024 Senegalese presidential election
https://en.wikipedia.org/wiki/2024_Senegalese_presidential_election
Portal:Current events
https://en.wikipedia.org/wiki/Portal:Current_events
Deaths in 2024
https://en.wikipedia.org/wiki/Deaths_in_2024
Wikipedia:In the news/Candidates
https://en.wikipedia.org/wiki/Wikipedia:In_the_news/Candidates
웹 크롤링은 인터넷 상에서 원하는 정보를 수집하고 분석하는 유용한 작업입니다. Java 개발자들은 이를 위해 Jsoup과 같은 강력한 라이브러리를 활용할 수 있습니다. Jsoup은 HTML 문서를 파싱하고 웹 페이지를 크롤링하는데 도움이 되는 도구로, 웹 크롤링 작업을 보다 쉽고 효율적으로 수행할 수 있도록 지원합니다.