gnusraun

Egov Jsoup (Crawling) 본문

Backend/Egov

Egov Jsoup (Crawling)

gnusraun 2023. 6. 4. 20:32
728x90

웹 크롤링 방법

 

pom.xml

jsoup dependency 추가

<!-- java 크롤링 -->
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.11.3</version>
</dependency>

 

JsoupAPI.java

흔히 java에서는 http 통신을 위해 import java.net.HttpURLConnection; 사용하지만

크롤링을 위해 jsoup Connection을 이용하여 통신한다.

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

/**
 * Jsoup Crawling
 * param String 주소
 * return Document
 */
public static Document HTTP_JSOUP_API(String addr) throws Exception {

    String pUrl = addr;
    Connection conn = Jsoup.connect(pUrl);
    Document doc = null;

    try {
        doc = conn.get();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return doc;
}

 

 

Template.java

HTML DOM 구조를 가지고 있는 Document doc 안에 원하는 태그를 클래스로 선택하여 텍스트를 호출한다.

import org.jsoup.nodes.Document;

@RequestMapping(value="/template.do")
public String template(ModelMap model) {

	Map<String, Object> result = new HashMap<String, Object>();
	// 크롤링할 대상 url 입력
	String url = "";

	Document doc = JsoupAPI.HTTP_JSOUP_API(url);
	// 제목
	String title = doc.select(".title").text();
	// 내용
	String desc = doc.select(".contents").text();
	// 푸터
	String num = doc.select(".footer").text();

	result.put("title", title);
	result.put("desc", desc);
	result.put("num", num);
    
	model.put("result", result);

	return "template";
    
}

 

 

출처 - https://zzang9ha.tistory.com/337

 

[Java] - Jsoup을 이용한 크롤링(feat. 인프런)

• 안녕하세요~ 이전에 운영하던 블로그 및 GitHub, 공부 내용을 정리하는 Study-GitHub 가 있습니다! • 네이버 블로그 • GitHub • Study-GitHub • 🐔 📎 Jsoup을 이용한 크롤링 안녕하세요! 이번에 정리

zzang9ha.tistory.com

 

728x90

'Backend > Egov' 카테고리의 다른 글

Egov Websocket Messenger  (0) 2023.05.31
Egov chat GPT 적용하기  (0) 2023.05.19
Egov maven install JRE rather than a JDK?  (0) 2023.05.19
Egov jsonView를 이용하여 ajax 사용하기  (0) 2023.05.19
Egov 파일 업로드/다운로드  (0) 2023.05.17