나홀로 데이터 분석가의 1인 연구실

[올리브영] 내 피부에 맞는 화장품 직접 찾아보자 - 3 본문

Personal Project/Long-Term Project

[올리브영] 내 피부에 맞는 화장품 직접 찾아보자 - 3

나홀로 데이터 분석가 2022. 12. 27. 17:23

0-1. 수집 데이터 정의

  • 수집 대상 URL: 올리브영 스토어(www.oliveyoung.co.kr)
  • 수집 대상: 스킨케어 제품에 대한 사용자 평가 및 정보 * 단 사용자의 피부 정보가 있는 경우에 한해서 수집

 

1-1. 데이터 수집 계획

  • 수집 시기: 특정 불가
  • 수집 대상: [표1] 수집대상
  • 사용 소프트웨어: Python3(Webdriver)

[표1] 수집 대상

<그림1> 사용자 정보 및 리뷰


사용자 정보 및 리뷰의 경우 버튼을 클릭과 같은 웹 페이지와의 상호작용이 필요합니다.

 

따라서 이번 크롤링에는 Requests가 아닌 Webdriver를 사용할 예정입니다.

 

1-2. 데이터 수집

  • Python 3.8.5
  • selenium 4.7.2
  • bs4 4.9.3
  • pandas 1.1.3

 사용자의 피부 타입 정보를 추출하기 위해 [리뷰 검색 필터]를 사용할 것입니다.

 

다만 해당 기능은 버튼 클릭이 필요하여 클릭 코드가 필요합니다.

# 리뷰 > 리뷰 검색 필터 > 건성 > 적용

driver.get(items.link[0])
driver.find_element(By.CSS_SELECTOR, '#reviewInfo > a').click()
driver.find_element(By.CSS_SELECTOR, '#filterBtn').click()
driver.find_element(By.CSS_SELECTOR, '#filterDiv > div.skin_type_area > div > div:nth-child(1) > dl > dd > ul > li:nth-child(2)').click()
driver.find_element(By.CSS_SELECTOR, '#btnFilterConfirm').click()

 

다른 데이터 수집은 requests를 사용하는 것과 동일한 방식으로 수집을 진행하였습니다.

 

페이지를 넘기는 것 역시 url 패턴이 존재하지 않아 위와 같이 버튼 클릭으로 진행하였습니다.

 

1-3. 데이터 수집 결과

  • 데이터 형태: 79,811 x 17

얼추 수집할 수 있는 정보는 모두 수집한 것으로 보입니다.

Comments