본문 바로가기
일하딩/Web

[Jsoup] Java 로 웹 크롤링 하기.

by 별난형 2019. 12. 3.

최근까지 각종 뉴스들로 많은 이야기가 있었다.

 

검찰 개혁, 조국 전 법무부 장관, 언론 등 관련 뉴스를 보면서 문득 기사의 내용들을 긁어서

 

나만 볼 수 있는 방법이 있을까? 라는 궁금증이 생겼고

 

그것에 대한 해결책으로 웹 크롤링을 찾게 되었다.

 

나는 Java 를 주로 다루니깐 Java 를 사용하여 웹 크롤링을 하는 방법을 찾았다.

 

대표적인 것으로 Jsoup 이 있는데, 물론 이걸 사용하지 않고도 직접 코딩해서 크롤링을 하는것도 가능하다.

 

하지만 난 귀차니즘이 많은 사람이므로 누군가 만들어놓은 오픈 소스 Jsoup 을 사용한다.

 

사용 방법은 간단하다.

 

우선, Jsoup 홈페이지에 들어가 설치 방법을 찾아본다.

 

https://jsoup.org/

 

jsoup Java HTML Parser, with best of DOM, CSS, and jquery

jsoup: Java HTML Parser jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods. jsoup implements the WHATWG HTML5 specification,

jsoup.org

maven 을 사용하면 pom.xml 에 추가를 하거나,

<dependency>
  <!-- jsoup HTML parser library @ https://jsoup.org/ -->
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.12.1</version>
</dependency>

라이브러리를 다운 받아 

 

Build Path 설정 방법

위와 같이 Build Path -> Configure Build Path 로 들어가서

 

외부 Jar 파일 추가 방법

다운 받은 Jsoup 파일을 추가한다.

 

이렇게 하면 사용 준비 완료.

 

package com.test.app;

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

public class JsoupTest {	
	public static void main(String[] args) {
		String url = "http://news.heraldcorp.com/view.php?ud=20191203000001";
        
        	Document doc = Jsoup.connect(url).get();
		System.out.println(doc.text());
		
		Elements ele = doc.select("body");
		System.out.println(ele.text());    
		
	}
}

위와 같이 하면 기본적인 사용이 가능하다.

 

중요한 부분은 select 인데 이부분에 들어가는 문구는 CSS selector 와 동일하게 사용하면 된다.

 

Jsoup 에서 만들어 낼 수 있는 결과물은 다양하다. text, html, data 등을 출력할 수 있다.

댓글