Issues [3]

병렬크롤링 미싱되었던것

중복 크롤링 되던 이슈

후기 더보기’ 버튼이 웹페이지 구조에 따라 Xpath가 변경되고 있어서 오류가 발생하거나 제대로된 크롤링이 안됬음

Problem Solving

병렬크롤링 미싱되었던것 추가, ThreadPoolExecutor을 사용했으며 카카오맵 후기 총 페이지수에 따른 페이지를 트레드(extract_restaurant_info)에 각각 부여해서 병렬크롤링진행 → 페이지수를 인스턴스로 넘김

중복 크롤링 되던 이슈 해결, 리뷰를 추가할때 로직구조상 중복되게끔 추가 되고 있었음

‘후기 더보기’ 버튼이 웹페이지 구조에 따라 Xpath가 변경되고 있어서 오류가 발생하거나 제대로된 크롤링이 안됬음 ( 메뉴 더보기 와 같은 버튼이 추가로생겼을때 생기던 발생, link_more이 아닌 link_close이 element로 있었음 ) 그리하여 span[contains(text() 값으로 ‘후기 더보기’가 있는지를 확인하고 이것을 버튼으로 누를수 있는 구조로 개선함

csv파일로 저장하는 api추가

결과 → 오류를 기다리며 생기던 시간이슈(3), 중복크롤링(2)가 해결되고 (소요시간 오래걸리던 이유),

병렬 크롤링(1)을 진행하게되어 기존에 한페이지 리뷰들을 긁어오는데 5분 가량 소요되었던것을, 4페이지(50개) 식당리뷰를 다 긁어오고 파일에 저장하는데 1분가량으로 개선함.