네이버 쇼핑 상품이름 파이썬 크롤링
서론 : 간식에 진심인 1인으로서 네이버 쇼핑 베스트에 과자/베이커리를 한번씩 찾아보고 맛있어 보이는걸 구매합니다.
그러다가 파이썬 할 줄 알겠다 데이터 수집을 하여 남들 보다 좀더 많은 간식정보를 가져와야 겠다고 마음 먹었습니다.
그리고 코드를 작성하였습니다.
상품이름으로 어떤 제품인지 유추가 충분히 가능하다고 판단하여 상품 이름만 가져오려 합니다.
1. 대상 페이지 설정 : 카테고리 BEST > 과자/베이커리 > 전체 를 대상페이로 설정하고 URL을 복사합니다.
2. 크롤링 코드 작성 : 크롤링을 위해사용한 주요 패키지는 selenium입니다.
순위 정보를 모두 가져오기 위해서는 스크롤을 끝까지 내린 후 데이터를 수집하는 과정이 필요한데,
자동으로 스크롤을 내려주는 기능을 제공하는 selenium을 활용하였습니다.
관련 코드는 아래와 같습니다.
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.by import By
### url 복사 붙여 넣기
URL = "https://search.shopping.naver.com/best/category/click?categoryCategoryId=50000149&categoryChildCategoryId=&categoryDemo=A00&categoryMidCategoryId=50000149&categoryRootCategoryId=50000006&period=P1D"
### selenium을 활용한 크롬 웹 띄우기
driver = webdriver.Chrome()
driver.get(URL)
### 스크롤을 자동으로 내려 순서 데이터 모두 불러오기
while True:
# 현재 높이 저장
last_height = driver.execute_script("return document.body.scrollHeight")
# 페이지 끝까지 스크롤
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# 스크롤 이동 대기 (적절한 값으로 조절)
time.sleep(2)
# 새로운 높이
new_height = driver.execute_script("return document.body.scrollHeight")
# 스크롤이 더 이상 내려가지 않으면 종료
if new_height == last_height:
break
### 스크롤을 끝까지 내린 후 데이터 불러오는 시간 기다려주기
time.sleep(2)
### class 이름을 기준으로 상품 정보 가져오기
# find_elements 메서드를 사용하면 ".imageProduct_title__Wdeb1" 클래스를 사용하는 모든 정보를 리스트 형태로 저장합니다.
shopping_malls = driver.find_elements(By.CSS_SELECTOR, '.imageProduct_title__Wdeb1')
# "imageProduct_title__Wdeb1" 클래스를 사용한 모든 정보를 하나씩 꺼내면서 text 영역만 가져오기
for item in shopping_malls:
# text 메서드를 활용하여 imageProduct_title__Wdeb1 클래스를 가진 테그사이에 text 정보를 가져올 수 있습니다.
print(item.text)
3. 결과 확인 : 순위 별 상품 이름 확인
2024년 2월 6일 새벽 기준
네이버 카테고리 베스트 과자/베이커리 부분
순위는 아래와 같습니다.
밀크클래식 쌀과자 우유맛 240g
서민갑부 국산 수제 도라지정과 500g 명절 상견례 선물
쥬쥬얼굴 수제 초콜릿만들기세트 DIY 케이스+초콜릿+데코+도구재료 발렌타인데이
김보람초콜릿 100% 수제초콜릿 생초콜릿 150g(파베초콜릿 4종)
못생겨도 맛있는 수제 강릉 못난이한과 전통유과
[국내배송] 탑젤리 베트남 망고젤리 다낭한시장 탑프루트 COOWY FUDGE 320g
[커플 초콜릿] 페어초콜릿, 연인이 함께 먹는 특별한 발렌타인데이 초콜릿
홍콩 제니쿠키 제니베이커리 마카다미아 초코 코코아 초콜렛 파인넛 잣커피 아몬드 플레이크 크리스피칩 255g 280g 크랜베리 호두대추야자캔디 2믹스 4믹스 버터스몰 320g
우리농산물로 만든 무지개별 떡국떡 500g 무지개꽃
제니베이커리 제니베이커리 해직 홍콩 제니쿠키 마카다미아 초코칩 255g
뉴욕 퍼펙트 치즈 5개 고급과자 도쿄과자
수제 강릉 한과선물세트 개별포장 혼합 2단
꽃모양떡국떡 설날 오색 무지개별 떡국 1+1
고급 수제 명절한과세트 강원도 한과 과줄 유과선물세트 3단 RENEWAL
엠앤엠즈 레트로 머그컵 기획팩 2세트(엠앤엠즈 피넛 37gx12개입)
화과방 오색양갱(14입)+쇼핑백 영양갱 부모님 어르신 옛날 간식 설날선물세트 설선물세트
온미당 조청 구운유과 약과 맛집 수제 한과선물세트 상견례선물 온화세트
혜화당 수제 오렌지 딸기 키위 감태 오란다 쌀강정 설날 종합선물세트 1호 무료스티커 제공
뉴욕 퍼펙트 치즈 쿠키 일본고급 과자
럽유러브 수제 초콜릿만들기세트 DIY 케이스+초콜릿+도구재료 발렌타인데이
밀크 클래식 쌀과자 우유맛 240g5봉
농심 먹태깡 60g 술안주 맥주안주 먹태간식 / 코스트코
떡함지 쑥떡 쑥인절미 20개 식사대용떡
우리농산물로 만든 무지개꽃 떡국떡 500g
코스트코 미니 프렌치롤 생지 6개 x 4팩 냉동 프랑스 바게트 빵 모닝
...
고집쎈청년 수제강정 말랑 촉촉한 플레인 오란다 450g
발렌타인데이 프리미엄 파베 초콜릿 만들기세트
프랑스 LU 루 쁘띠 에꼴리에 과자 왕자 150g x6개 프리한 버터 밀크 초코 비스킷 쿠키 파비앙
줄서서먹는 춘천카페 감자밭 원조 감자빵 10개입 냉동 택배
'python' 카테고리의 다른 글
파이썬 앞뒤 공백제거 (0) | 2024.02.07 |
---|---|
파이썬 정규식 여러띄어쓰기를 하나의 띄어쓰기로 (0) | 2024.02.07 |
파이썬 디렉션 아래 파일 모두 지우기 (1) | 2024.01.04 |
ModuleNotFoundError: No module named 'sklearn' (1) | 2024.01.01 |
AttributeError: 'TfidfVectorizer' object has no attribute 'get_feature_names' (0) | 2023.12.31 |
댓글