Java 크롤러 jsoup vs crawler4j 비교 분석

김효민·2020년 12월 15일
0

TIL

목록 보기
2/3

Java로 크롤러를 짜려 한다면 누구나 제목에 있는 두 라이브러리의 이름을 보게 될 것이다. 물론 쉽게 시간이 없는 사람은 구글에 Java 크롤러 라고 검색한 다음 상위 문서부터 볼 테지만 시간이 많은(?) 필자는 한번 이 두 라이브러리를 분석을 해봤다.


jsoup

  • URL, file, string에서 HTML을 스크랩 하고 파싱한다.
  • 크롤링 기능은 있지만 URL 하나에서 가져오는 기본적인 기능
  • 따라서 주로 HTML을 파싱하고 DOM navigation 하는 데에 사용됨.
  • selector syntax를 사용하여 간편한 검색 가능
  • 마지막 업데이트: 2020/03/01

crawler4j

  • 여러 웹페이지들을 한번에 크롤링 하는데 적합
  • 주어진 URL을 보고 안에 있는 링크들도 크롤링 해서 데이터들을 가져옴
  • 멀티스레드 기능 제공
  • parsing 기능은 제한적 (selector syntax 사용 불가)
  • 마지막 업데이트: 2018/03/27

총평

stackoverflow에 있는 글귀가 딱 맞는 것 같아서 가져왔다.

Crawler4j is a crawler, Jsoup is a parser.

페이지마다 HTML을 파싱하는 건 jsoup을, 여러 페이지들의 데이터를 크롤링 하는 건 crawler4j을 사용하면 된다. (crawler4j의 지원이 끊긴 건 아쉽다.)


Reference

jsoup 홈페이지(https://jsoup.org/cookbook/extracting-data/dom-navigation)
crawler4j 홈페이지(https://github.com/yasserg/crawler4j)

profile
귀찮음에 민감한 개발자

0개의 댓글