프로그래밍/C, C++, Java, Python

[Java] Jsoup을 이용한 간단한 웹 크롤러 만들기

포도알77 2019. 3. 2. 08:51

1. 들어가면서

가끔 자동으로 웹을 긁어야 할 때가 있다. 우분투에서도 Python을 이용한 Scrapy를 사용할 수 있지만, 다른 SSD에 우분투가 깔려있어 재부팅을 해야한다. 그래서 조금 귀찮았는데, 자바를 이용한 Jsoup을 사용할 수 있다고 해서, 바로 깔아서 테스트해보았다.      

2. Jsoup 다운로드

  Jsoup을 자바에서 실행시키려면 라이브러리를 받아야 한다.   라이브러리 다운로드 링크는 아래와 같다.  
https://jsoup.org/download
  아래의 그림처럼 세개를 다운받아 특정 폴더에 저장하자.  
 




       

3. 프로젝트에 Jsoup 라이브러리 링크

이제 자바 프로젝트를 만들고 Jsoup 라이브러리를 링크하자. 자바를 안써본지 약 3년정도가 되어서, 라이브러리를 어떻게 넣는지 검색했다.         일단 프로젝트를 만들고, 프로젝트우클릭해서 Property로 이동하자.
     
    그리고 Java Build Path 탭에서 Libraries를 클릭한다음 Add External JARs를 클릭하자   




방금 다운로드 받은 Jsoup JAR 파일을 포함시켜 주자.

그런 다음 ApplyOK를 눌러 주면 라이브러리 링크가 완료된다.


4. 예제 코드

  Jsoup이 정상적으로 작동하는지 아래의 코드를 실행해보자. 클래스명과 패키지는 당연히 프로젝트를 만들때 사용했던 명칭을 이용해야 한다.  
package scrapy;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Crawl{
	public static void main(String[] args) throws Exception{
		String URL = "https://fatc.club/2017/02/28/60";
		Document doc = Jsoup.connect(URL).get();
		Elements elem = doc.select("section");
		String str = elem.text();
		System.out.println(str);
	}
}
  결과가 아래와 같이 나타나면 정상적으로 동작하는 것이다.

 데이터 수집을 위한 크롤링 연속 포스팅  [크롤링] 데이터 수집을 위한 크롤링 1편 : 크롤링이란 무엇인가? [크롤링] 데이터 수집을 위한 크롤링 2편 : 크롤링에 필요한 필수 요소들 [크롤링] 데이터 수집을 위한 크롤링 3편 : JSON, 더 자세한 설명 [크롤링] 데이터 수집을 위한 크롤링 4편 : Java의 설치와 간단한 Jsoup 예제 [크롤링] 데이터 수집을 위한 크롤링 5편 : Yahoo 파이낸스를 이용한 환율 크롤링


페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사