자바 웹 크롤링(Web Scraping)

Dope
Webdev TechBlog
Published in
3 min readJan 2, 2020

서론

웹 프로젝트를 하다보면 Iframe 혹은 Web에 있는 필요한 데이터를 긁어와서 우리 화면에 뿌려야 하는 상황이 생기는데, 웹 크롤링(Web Scraping)을 사용하면 쉽게 필요한 데이터만 가져와서 사용할 수 있습니다.

Iframe 같은 경우는 URL 객체로 HTML을 문자열로 읽어오는데 시간이 오래 걸립니다. (10초 이상이 걸리는 경우도 있습니다.) 따라서 이런 경우는 스케줄러(Scheduler)를 통해 각 프로젝트의 특성에 맞게(ex) 한 달에 한 번) JSON 파일로 만들고, 해당 JSON 파일을 비동기나, 동기로 읽어와서 뿌려야 합니다.

크롤링(Scraping) 이란 ?

웹 크롤링이란 컴퓨터 소프트웨어 기술로 웹 사이트들에서 원하는 정보를 추출하는 것을 의미합니다. 크롤링의 정식 명칭은 Scraping 입니다.

Web scraping is a computer software technique of extracting information from websites

Jsoup

Jsoup Library는 자바에서 제공하는 HTML Parser 입니다.

Maven Dependency

Jackson Library

스프링부트 에서는 Json Format을 사용하기 위해서 Jackson Library를 사용합니다. 스프링에서는 Dependecy를 추가해야하고, 스프링 부트는 기본으로 제공합니다.

Logic

  • Jsoup 라이브러리를 사용해서 HTML parsing
  • 필요한 값들만 프로퍼티로 가지는 DTO 생성
  • select와, attr 메서드를 이용해서 필요한 값 추출 후에 DTO에 저장
  • DTO를 리스트에 저장
  • call Method convertValue by ObjectMapper
  • call Method writeValueAsString by ObejctMapper
  • 스케줄러 생성
  • 스케줄러의 메서드에서 JSON 생성파일 호출
  • 필요한 곳에서 JSON 파일을 읽는 메서드를 호출

Example

--

--

Dope
Webdev TechBlog

Developer who is trying to become a clean coder.