[java] Jsoup을 사용하여 웹페이지 내 Javascript 추출하기
개요
웹페이지 내에 포함된 Javascript 소스코드를 추출하는 방법을 알아보겠습니다. Java에서는 Jsoup 라이브러리를 사용하여 HTML 문서를 파싱하고, 원하는 요소를 추출할 수 있습니다.
Jsoup 라이브러리 추가
Jsoup을 사용하기 위해서는 먼저 해당 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음과 같이 의존성을 추가합니다.
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.14.1</version>
</dependency>
Gradle을 사용하는 경우, build.gradle
파일에 다음과 같이 의존성을 추가합니다.
implementation 'org.jsoup:jsoup:1.14.1'
웹페이지 파싱하기
Jsoup을 사용하여 웹페이지를 파싱하기 위해서는 connect()
메서드로 웹페이지에 연결하고, get()
메서드로 HTML 문서를 가져와야 합니다. 예를 들어, 다음과 같이 https://example.com
웹페이지에서 HTML 문서를 가져올 수 있습니다.
String url = "https://example.com";
Document document = Jsoup.connect(url).get();
Javascript 추출하기
웹페이지에서 Javascript를 추출하기 위해서는 해당 요소를 CSS 선택자 또는 태그 이름으로 찾아내야 합니다. 예를 들어, 웹페이지 내에 있는 모든 script
태그에서 Javascript를 추출하고 싶다면 다음과 같이 사용할 수 있습니다.
Elements scriptElements = document.select("script");
for (Element scriptElement : scriptElements) {
String javascript = scriptElement.html();
System.out.println(javascript);
}
위 코드는 웹페이지에서 모든 script
태그를 선택하고, 각 태그의 내용을 추출하여 출력합니다.
예제
다음은 실제로 https://example.com
웹페이지에서 Javascript를 추출하는 예제 코드입니다.
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 JavascriptExtractor {
public static void main(String[] args) {
String url = "https://example.com";
try {
Document document = Jsoup.connect(url).get();
Elements scriptElements = document.select("script");
for (Element scriptElement : scriptElements) {
String javascript = scriptElement.html();
System.out.println(javascript);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
위 예제 코드를 실행하면 해당 웹페이지의 Javascript 소스코드를 출력합니다.