전체 글 (193) 썸네일형 리스트형 SpringBoot를 이용한 crawling 프로젝트 - 2 jsoup과 selenium을 이용한 크롤링 준비를 했다면 크롤링 해 온 데이터를 프로젝트에 사용하기 위해 저장 해 주어야 한다. 크롤링 한 데이터를 저정하기 위한 product엔티티를 생성하고 진행했다. 3중 for문을 stream으로 정리해주고, 가져온 정보를 product로 변환해 list에 저장하게 해 주었다. 이렇게 생성된 list를 JpaRepository를 사용한다면, saveAll 메서드를 통해 한번에 저장할 수 있고, Repository를 사용한다면,메서드를 커스텀 해 주기적으로 일정한 갯수의 객체를 flush시킬수 있다. flush 되는 객체의 최대치를 250개로 잡아놨으므로, batchSize를 250으로 설정 해 주었다. 이렇게 작성하고 요청을 해 보면, 데이터가 잘 저장.. SpringBoot를 이용한 crawling 프로젝트 - 1 Spring boot에서 웹크롤링을 하기 위해서는 일반적으로 jsoup라이브러리를 사용한다.하지만 jsoup만 사용할 경우에는 동적인 페이지의 데이터 크롤링을 하지 못하기 때문에, selenium 라이브러리와 크롬 드라이버도 jsoup와 함께 사용해 이번 프로젝트를 진행했다. jsoup을 이용해 데이터를 크롤링 하기 위해서는 대상이 되는 웹 페이지의 css정보를 알아야 한다.css에 대한 정보는 개발자 도구를 이용해 간단히 알 수 있다. 캡쳐한 화면의 img경로는 #wrap #contents .relCon .prodListWrap 하위의 ul > li > .prod_img다.(id는 # , class는 . 으로 구분한다.) 이를 크롤링 하기 위한 코드로 정리해보자면, 다음과 같다. 하지만 페이지 내부의 .. 04월 23일 변경사항 1. 예약 일별조회 api작성 일별조회 쿼리 추가 2. Builder사용하는 생성자 변경 1. 예약 일별조회 api작성 @GetMapping("{year}/{month}/{day}/{storeId}") public ResponseEntity showReservations(@PathVariable Long storeId,@PathVariable Integer year,@PathVariable Integer month,@PathVariable Integer day) { List dtoList = reservationService.showReservations(storeId, year, month, day); HttpHeaders headers = new HttpHeaders(); headers.setCont.. 이전 1 2 3 4 5 6 ··· 65 다음