웹 스크래핑을 할 때 Jsoup의 select() 메서드는 CSS 선택자를 통해 원하는 HTML 요소를 쉽게 찾을 수 있도록 도와줍니다. 하지만 실제 웹 페이지에서 선택자를 적용하기 전에 테스트해보고 싶을 때가 있습니다. 이럴 때 유용한 사이트가 바로 try.jsoup.org입니다. 이 글에서는 try.jsoup.org를 활용하여 로또 당첨 번호를 추출하는 예시를 통해 Jsoup select() 구문 테스트 방법을 소개합니다.
1. try.jsoup.org 소개
try.jsoup.org는 웹 브라우저에서 Jsoup의 select() 메서드를 직접 테스트해볼 수 있는 웹사이트입니다. HTML 코드를 입력하거나 URL을 통해 가져와서, CSS 선택자를 적용하고 결과를 바로 확인할 수 있습니다.
2. 로또 당첨 번호 추출 시나리오
동행복권 로또 당첨 번호 페이지에서 당첨 번호를 추출하는 상황을 가정해 보겠습니다. 실제 웹 페이지에서 코드를 작성하기 전에, try.jsoup.org에서 선택자를 테스트해볼 수 있습니다.
3. try.jsoup.org 사용 방법
- HTML 코드 입력 또는 URL 로드:
- 동행복권 로또 당첨 번호 페이지 URL(https://www.dhlottery.co.kr/gameResult.do?method=byWin)을](https://www.google.com/search?q=https://www.dhlottery.co.kr/gameResult.do%3Fmethod%3DbyWin))%EC%9D%84)%EC%9D%84)) try.jsoup.org의 입력란에 입력하고 "Fetch URL" 버튼을 클릭합니다.
- 또는, 실제 로또 당첨 페이지의 HTML 소스코드를 복사하여 입력란에 직접 붙여넣을 수도 있습니다.
- CSS 선택자 작성:
- 오른쪽 입력란에 원하는 CSS 선택자를 작성합니다. 예를 들어, 당첨 번호 요소들을 선택하려면 .win_result .num.win span과 같은 선택자를 사용할 수 있습니다.
- 결과 확인:
- 선택자를 입력하면 즉시 결과가 아래쪽에 표시됩니다. 선택자에 해당하는 요소들이 강조되어 표시되며, 추출된 텍스트 내용도 확인할 수 있습니다.
4. 로또 번호 추출 선택자 예시
- 회차 정보: .win_result strong
- 당첨 번호: .win_result .num.win span
- 보너스 번호: .win_result .num.bonus span
5. 테스트 및 검증
try.jsoup.org에서 위 선택자들을 하나씩 입력해보고 결과를 확인합니다. 선택자가 정확하게 원하는 요소를 선택하는지, 추출된 데이터가 올바른지 검증합니다.
6. 실제 코드에 적용
try.jsoup.org에서 테스트를 마친 후 1 , 실제 자바 코드에 선택자를 적용합니다.
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.IOException;
public class LottoNumberExtractor {
public static void main(String[] args) {
String url = "https://www.dhlottery.co.kr/gameResult.do?method=byWin";
try {
Document doc = Jsoup.connect(url).get();
String round = doc.select(".win_result strong").text();
System.out.println("회차: " + round);
Elements winNumbers = doc.select(".win_result .num.win span");
System.out.print("당첨 번호: ");
for (int i = 0; i < winNumbers.size(); i++) {
System.out.print(winNumbers.get(i).text() + " ");
}
System.out.println();
String bonusNumber = doc.select(".win_result .num.bonus span").text();
System.out.println("보너스 번호: " + bonusNumber);
} catch (IOException e) {
e.printStackTrace();
}
}
}
7. 장점
- 실제 웹 페이지에 영향을 주지 않고 안전하게 테스트 가능
- 선택자 작성 및 결과 확인 과정을 빠르게 반복 가능
- 다양한 선택자를 실험하며 Jsoup select() 구문 숙련도 향상
※ 참조: select 구문에 대한 정보는 다음 사이트에서 확인 할 수 있습니다.
https://jsoup.org/apidocs/org/jsoup/select/Selector.html
try.jsoup.org를 활용하면 Jsoup select() 구문 테스트를 효율적으로 수행하고, 웹 스크래핑 개발 과정을 단축할 수 있습니다.
'프로그래밍' 카테고리의 다른 글
Fragment 간 데이터 공유, ViewModel 하나면 충분해요! (1) | 2025.03.21 |
---|---|
Android Navigation Component argType, 어떤 타입을 사용할 수 있을까? (0) | 2025.03.21 |
Chrome 에서 Talend API Tester (무료) 확장 프로그램으로 API 테스트하기: 단계별 가이드 (0) | 2025.03.20 |
안드로이드 프래그먼트 네비게이션: 간편한 프래그먼트 전환과 데이터 전달 방법 (0) | 2025.03.20 |
안드로이드 Retrofit으로 로또 당첨 번호 JSON 데이터 가져오기: 1000회차 예시 (0) | 2025.03.20 |