Java

Jsoup HTML 파싱 여러 클래스 select 하기

Dokon Jang 2021. 8. 14. 21:15
반응형

아래와 같이 여러 클래스의 태그를 Jsoup를 이용하여 select 하는 두가지 방법입니다.

 

(1) Class를 속성처럼 Select 하기

  - CSS 클래스의 순서가 변경 되면 해당 소스로는 select가 안될 것으로 생각됩니다.

Document doc = Jsoup.parse(new URL("http://..."), 10 * 1000);
Element ele = doc.selectFirst("TagName[class='클래스명1 클래스명2 ... 클래스명n']");

 

(2) Class로 Select 하기

Document doc = Jsoup.parse(new URL("http://..."), 10 * 1000);
Element ele = doc.selectFirst("TagName.클래스명1.클래스명2...클래스명n");

 

[예제 소스]

import java.net.URL;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JSoupTest {

	public static void main(String[] args) {
		try {
			Document doc = Jsoup.parse(new URL("https://m.kr.investing.com/indices/us-30-futures"), 10 * 1000);

			// Class를 속성처럼 Select 하기
			Element ele1 = doc.selectFirst("time[class='instrument-metadata_text__2iS5i font-bold']");
			
			// Class로 Select 하기
			Element ele2 = doc.selectFirst("time.instrument-metadata_text__2iS5i.font-bold");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
반응형