Jsoup(1) - Jsoup이란? / 초간단 예시Java2023. 5. 11. 09:48
Table of Contents
728x90
728x90
Jsoup은 실제 HTML 작업을 위한 Java 라이브러리이다.
HTML5 DOM 메서드와 CSS selector을 사용하여 URL을 가져오고 데이터를 추출 및 조작하기 위한 매우 편리한 API를 제공한다.
1. URL, 파일 또는 문자열에서 HTML 스크랩 및 파싱
2. DOM 순회 또는 CSS select를 사용한 데이터 찾기 및 추출
3. HTML요소, 속성 및 텍스트 조작
4. XSS 공격을 방지하기 위해 수신 허용 목록에 대해 사용자 제출 콘텐츠 정리
5. 깔끔한 HTML 출력
을 제공해준다고 한다.
설치
아래의 링크에서 다운로드받아서 프로젝트 내부에 JAR을 추가하거나 Maven이나 Gradle에 주입하여 사용한다.
나는 자바 프로젝트를 사용해서, JAR을 추가했다.
사용해보기
우선 공식 라이브러리 사이트에서 제공해주는Example 코드를 사용해보자.
package org.jsoup.examples;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
public class jsoupexam {
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://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"));
}
}
private static void log(String msg, String... vals) {
System.out.println(String.format(msg, vals));
}
}
위키디피아의 메인에서, 뉴스 섹션의 헤드라인 목록들을 가져온다고는 하는데
헤드라인인지는 모르겠으나 여튼 굵은 앵커태그의 title속성값과 href값을 가져오는데 성공했다.
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!