오늘 공부해볼 라이브러리는 JSoup 라이브러리이다. (간편한 크롤링 방법)
Jsoup을 활용하면 까다로운 절차인 HttpURLConnection을 생략하고 간편하게 API Request(요청) 및 Response(응답)을 받을 수 있다. 먼저 JSoup 라이브러리를 설치해보자.
1. Jsoup 설치 방법
Maven, Gradle 또는 .Jar(순수 Java) 환경에 따라 설치 방법이 달라진다.
• Maven [pom.xml]
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.17.2</version>
</dependency>
• Gradle [gradle.build]
dependencies {
implementation 'org.jsoup:jsoup:1.17.2'
}
• .Jar의 경우 core library 설치 후 Import하면 된다.
자세한 내용은 jsoup.org를 참고하자.
2. Jsoup 사용법
본격적으로 코드를 알아보기 전 핵심 함수들을 알아보자.
• Document - Connect 이후 받은 HTML 전체 문서
• Elements - Element가 모인 자료형
• Element - Document의 HTML 요소
[ JSoup 소스 예제]
public String callApi(String url) {
String rtnStr = "";
try {
Document doc = Jsoup.connect(url).timeout(10 * 1000).post();
Element body = doc.body();
rtnStr = body.text();
} catch (IOException e1) {
System.out.println("Error Occurrence" + e1.getMessage());
}
return rtnStr;
}
현재 메소드 형태로 구현해 보았는데, Url만 입력해 놓으면 그에 맞는 URL로 데이터를 Request하게 된다.
.connect(url) - url요청을 보낸다.
.timeout - 타임아웃 설정
.post() / .get() - HTTP 전송 방법
데이터를 요청한 후 Element.text()를 활용하여 받은 데이터를 텍스트화 시킨다.
오늘 Java 라이브러리 중 하나인 Jsoup를 살펴보았다. Jsoup는 HTML을 파싱하여 웹페이지에서 데이터를 추출하거나, 웹페이지와 상호작용하는 데 필요한 강력한 도구이다. 특히, Jsoup의 get() 메소드와 post() 메소드를 활용하면 HTTP GET 요청과 POST 요청을 손쉽게 전송할 수 있다. 이를 통해 웹페이지를 검색하거나, 웹페이지에 정보를 제출하는 등의 작업을 수행할 수 있다.
Jsoup를 이용하면 웹 크롤링이나 스크레이핑 작업을 훨씬 효율적으로 수행할 수 있다. 그리고 Jsoup의 기능은 이것뿐만이 아니다. 다양한 기능들이 있으므로, 실제로 Jsoup를 사용해 그 편리함을 직접 체험해보기를 권한다.
기회가 된다면 Jsoup의 다양한 기능에 대해 살펴볼 예정이다.
'👨💻 프로그래밍 > Java' 카테고리의 다른 글
[Java] 환경에 따른 분기처리 (0) | 2024.04.26 |
---|---|
[Java] 간단 Null Parsing 오류 처리 방법 (0) | 2024.02.13 |
[Java] JSP/Java Timeout 설정 (N초 후 프로세스 실행) (1) | 2024.02.06 |
[Java] Java 현재 날짜 및 시간 값 가져오기 (Date Class) (1) | 2024.02.06 |
[Java] 10진법 int값 n진수로 전환하기 (0) | 2024.02.05 |