코스트코 상품 상세페이지 정보 수집 방법
온라인 쇼핑몰에서 데이터를 수집할 때, 가장 중요한 개념 중 하나가 바로 목록-상세 페이지입니다. 간단하게 말해, 목록 페이지는 다양한 제품을 목록 형식으로 한 번에 보여주는 페이지이고, 상세 페이지는 판매하고자 하는 제품의 스펙이나 상세 정보 등을 포함하는 페이지입니다. 오늘은 개별 제품의 상세 페이지에 포함된 고객 서비스 센터 정보를 수집하는 사례를 함께 살펴보겠습니다!
우선, 아래 이미지처럼 여러 개의 제품 목록을 한 번에 보여주는 페이지를 목록 페이지라고 합니다.
그리고 상세 페이지는 개별 제품 이미지를 클릭했을 때, 상세 정보를 보여주는 페이지를 의미합니다.
만약 아래와 같이 개별 제품의 상세 페이지에서 고객 서비스 센터 전화번호를 수집하고자 한다면, (1) 목록 페이지에서 각각의 제품 상세 페이지에 접근할 수 있는 URL 주소를 추출하고, (2) 추출한 상세 페이지 주소를 이용해서 개별 상세 페이지에 접속해 해당 영역의 정보를 수집해야 합니다.
기본 추출
그럼, 이제 간단하게 해당 정보를 수집하는 방법을 알려드릴게요! 아래와 같이 웹 사이트의 목록 페이지로 이동해 리스틀리 전체 (LISTLY WHOLE) 혹은 리스틀리 부분 (LISTLY PART) 버튼을 클릭해 제품 정보를 수집해주세요. 리스틀리 전체 버튼을 클릭해 한 번에 웹 페이지 정보를 모두 수집해도 되지만, 이번 튜토리얼에서는 리스틀리 부분 버튼을 이용해 목록 영역만 따로 수집하였습니다.
리스틀리 버튼을 클릭하면 아래의 이미지처럼 데이터가 추출된 페이지로 이동하게 되는데요, 총 29개의 제품 목록 정보가 수집된 것을 확인할 수 있습니다.
그룹 추출 — 목록 페이지
예제 페이지를 살펴보면 실제로 한 페이지 내에 29개의 제품 정보를 보여주고 있습니다. 하지만, 총 111개의 제품 정보가 1, 2, 3 ... 페이지에 나누어 보여지고 있기 때문에 모든 제품 정보를 수집하고자 하신다면, 1, 2, 3 ... 페이지에서 각각 목록 정보를 수집해야 합니다. 리스틀리에서는 간편하게 그룹 추출 기능을 이용해 한 번에 모든 목록 정보를 수집할 수 있어요.
두 번째 페이지 번호를 한번 클릭해 보시면, 웹 브라우저 상단에 주소가 변경되는 것을 확인하실 수 있습니다. 세 번째, 네 번째 페이지를 클릭해도 각각의 웹 페이지 주소가 변경될 거예요. currentPage=숫자의 형태로 페이지 주소가 변경되고 있습니다.
아래의 주소는 첫 번째 페이지부터 다섯 번째 페이지의 URL 주소입니다. 해당 웹 사이트는 다섯 번째 페이지까지만 목록 정보를 수집하면 되기 때문에 간단하지만, 더 많은 웹 페이지의 주소가 필요하시다면 1,2,3 페이지 번호 주소 얻기 문서를 참고해주세요.
https://www.costco.com/televisions.html
https://www.costco.com/televisions.html?currentPage=2&pageSize=24
https://www.costco.com/televisions.html?currentPage=3&pageSize=24
https://www.costco.com/televisions.html?currentPage=4&pageSize=24
https://www.costco.com/televisions.html?currentPage=5&pageSize=24
이제, 모든 목록 정보를 한 번에 정리할 시간입니다! 데이터가 수집된 추출 페이지에서 + 그룹 (+ GROUP) 버튼을 클릭해주세요.
그룹 페이지 하단을 보면 URL 추가 (ADD URL) 영역이 있을 거예요. 이곳에 첫 번째 페이지부터 다섯 번째 페이지의 URL 주소를 입력 후, 완료 (Submit) 버튼을 클릭해주세요.
아래와 같이 데이터 재추출이 완료되면, 완료 (SUCCESS) 버튼을 클릭해 추출된 목록 정보를 확인해보세요.
상단의 하이퍼링크 포함 (SHOW HYPERLINK) 체크박스 선택 후, 그룹 엑셀 (GROUP EXCEL) 버튼을 클릭해 제품 목록 정보를 엑셀 파일로 다운로드해주세요.
목록 정보를 행별로 정리할 수 있도록 카드 1개씩 1 줄에 넣기 (1-Card to 1-Row) 영역을 선택해 다운로드해 주시면 됩니다.
이제, 다운받은 엑셀 스프레드시트를 열어보면 아래와 같이 제품 목록 정보가 정리되어 있을 거예요. 웹 사이트의 구조상 일부 빈칸이 삽입되어 있을 수 있지만, 빈 칸은 무시하셔도 괜찮습니다. 아래와 같이 D열에 각각의 제품 정보 상세 페이지로 이동하는 URL 주소가 저장되어 있는 것을 확인하실 수 있습니다. 이 정보를 활용해 일괄적으로 상세 페이지에 접속해 상세설명 정보를 수집할 예정입니다.
그룹 추출 — 상세 페이지
다시 웹 사이트로 돌아가 첫 번째 제품의 상세 페이지로 이동해주세요. 아래와 같이 노란색 영역의 제품 상세설명 영역을 수집할 예정이기 때문에, 리스틀리 부분 (LISTLY PART) 버튼을 클릭해 해당 정보를 추출해주세요.
제품 상세설명 정보가 아래 이미지처럼 수집되어 있을 거예요. 다시 한번 + 그룹 (+ GROUP) 버튼을 클릭해주세요.
마찬가지로 그룹 페이지 하단에 URL 주소를 입력할 수 있는 URL 추가 (ADD URL) 영역이 보이실 거예요. 방금 전에 엑셀 파일로 다운받은 목록 페이지 URL 주소를 이곳에 모두 복사해 붙여 넣어주세요. 여러분이 각 제품의 상세 페이지를 번거롭게 하나하나 방문하지 않아도, 그룹 추출 기능을 활용하면 자동으로 개별 제품의 상세 페이지에 접근해 상세설명 정보를 수집할 수 있습니다.
완료 (Submit) 버튼을 클릭하면, 자동으로 데이터 재추출이 시작될 거예요.
이제, 상태 (Status) 탭의 완료 (SUCCESS) 영역을 클릭해 추출된 정보를 확인해 보겠습니다. 수집한 모든 데이터를 한 번에 엑셀로 확인해보고 싶으시다면, 그룹 엑셀 (GROUP EXCEL) 버튼을 눌러주세요. 이번에는 탭 1개씩 1 줄에 넣기 (1-Tab to 1-Row) 버튼을 클릭해 데이터를 정리해주세요!
여기까지 잘 따라오셨다면, 아래와 같이 고객 서비스 센터 전화번호를 엑셀로 정리해볼 수 있으실 거예요. 상세 페이지의 고객 리뷰나 이미지 정보도 그룹 추출 기능을 이용해 손쉽게 정리할 수 있답니다.
Tip) 탭 매칭
마지막으로 일부 추출되지 않은 데이터에 대해 궁금하신 분들을 위해 탭 매칭 팁을 공유해 드리려고 합니다. 그룹 추출을 하다보면 아래와 같이 Y (성공), N (실패) 으로 나타나는 탭 매칭이라는 개념이 등장하게 됩니다. 상세 페이지에서 특정 데이터 수집 시, 선택했던 영역과 동일한 데이터 패턴이 없을 경우에 탭 매칭이 N (실패) 으로 나타나게 되는데요. 아래 예제를 통해 다시 한번 쉽게 설명해 드리겠습니다.
탭 매칭 결과가 Y (성공) 으로 나타난 데이터 추출 결과를 클릭해보면, 제품의 상세 페이지에서 수집하고자 했던 고객 서비스 센터 정보가 잘 수집된 것을 확인할 수 있습니다.
반대로 탭 매칭 결과가 N (실패) 으로 나타나는 데이터 추출 결과를 클릭해 보면, 아래와 같이 해당 정보가 누락되어 있는 것을 확인할 수 있어요. 기본적으로 웹 사이트에 해당 정보가 없기 때문에 데이터를 수집하지 못하는 경우입니다.
실제로 탭 매칭 결과가 N인 웹 페이지를 확인해보면, 해당 정보가 누락되어 있기 때문에 엑셀 파일에서도 빈 칸으로 나타나고 있습니다.
추출 실패
데이터 추출 결과 중 데이터 추출이 제대로 이루어지지 않은 추출 실패 (Fail) 사례가 일부 있을 수 있어요. 이렇게 데이터 추출이 실패한 경우, 리스틀리에서는 에러 메시지 스크린샷 기능을 제공하고 있기 때문에 실패 원인을 분석해 볼 수 있는데요.
스크린샷 (Screenshot) 버튼을 한번 클릭해 보시면, 추출한 데이터에 목록 형태의 내용이 존재하지 않는다는 NoListlyContent 에러 메시지를 확인하실 수 있습니다.
이 경우 실제로 데이터 추출 실패 웹 페이지의 링크를 클릭해 보면, 기존에 수집하고자 했던 정보와 전혀 다른 제품이 게시되어 있을 수 있어요. 수집하고자 했던 제품이 아닌 만큼, 제품 상세 페이지 구조도 일부 다를 수 있기 때문에 데이터 추출이 제대로 이루어지지 않은 경우입니다. 하지만, 수집하고자 하는 제품이 아니기 때문에 굳이 재추출할 필요는 없겠죠?
그룹 추출 기능은 연락처 수집이나 제품 목록, 상세 페이지 정보를 수집할 때 특히 유용합니다. 이번 튜토리얼이 도움이 되셨다면, 다양한 웹 사이트에서 여러분에게 필요한 데이터를 간편하게 수집해보세요!