Blair  - Soul Eater 네이버 쇼핑 스마트스토어 리뷰 크롤링 하는 방법, 코드

• programming language/python

네이버 쇼핑 스마트스토어 리뷰 크롤링 하는 방법, 코드

oujin 2024. 2. 14. 09:44
728x90

 


F12를 눌러서 요소값을 수정해 줘야 하는 코드입니다

 

리뷰를 반복적으로 크롤링 하기 위해서 네이버 쇼핑 페이지에서 '다음' 버튼을 클릭하여 다음 페이지로 이동하는 기능을 추가하려고 합니다.

이러한 웹 페이지의 동적인 특성을 실행 할 수 있는 selenium 과 같은 웹 트라이버를 사용해야 합니다.

 

0. 크롤링한뒤 csv 파일로 저장한 화면

 

 

1. 리뷰 크롤링 코드 (수정전)

from selenium import webdriver
from bs4 import BeautifulSoup
import csv
import time

# 웹 드라이버 경로 (자신의 웹 드라이버 경로로 변경해야 합니다.)
driver_path = '/path/to/your/webdriver'

# 네이버 쇼핑 상품 페이지 URL, 크롤링을 원하는 웹페이지의 링크로 변경해줍니다
url = "https://shopping.naver.com/your_product_url"

# 웹 드라이버 초기화
driver = webdriver.Chrome(driver_path)

# 페이지 로드
driver.get(url)

# CSV 파일로 저장
with open('reviews.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)

    while True:
        # 페이지 로딩 대기
        time.sleep(3)

        # BeautifulSoup 객체 생성
        soup = BeautifulSoup(driver.page_source, 'html.parser')

        # 리뷰를 담고 있는 HTML 요소 선택 (CSS 선택자를 사용)
        review_elements = soup.select('.review_items .review_item')

        # 각 리뷰 요소에서 리뷰 텍스트 추출
        reviews = [element.text.strip() for element in review_elements]

        # 리뷰를 CSV 파일에 저장
        for review in reviews:
            writer.writerow([review])

        # '다음' 버튼 요소 선택
        next_button = driver.find_element_by_css_selector('.pagination_next')

        # '다음' 버튼이 비활성화되어 있으면 종료
        if not next_button:
            break

        # '다음' 버튼 클릭
        next_button.click()

# 웹 드라이버 종료
driver.quit()

 

 

2. 위의 코드에서 수정해야 하는 부분

1. 웹 드라이버 경로 :chromedriver.exe 가 위치한 디렉토리의 경로로 수정합니다.

driver_path = '/path/to/your/webdriver'

 

2. 네이버 상품 페이지 url : url 변수에 크롤링하려는 상품 페이지의  url로 변경해줍니다.

url = "https://shopping.naver.com/your_product_url"

 

3. 리뷰를 담고 있는 html 요소 : 웹사이트에서 f12를 눌러서 리뷰가 담겨져 있는 요소를 복사한뒤 붙여넣어줍니다

review_elements = soup.select('.your_css_selector')

 

4. '다음' 버튼 요소 : '다음'버튼의 html요소 또한 수정해주어야 합니다. 리뷰크롤링을 원하는 페이지에서 f12 개발자 도구를 사용하여 css 선택자를 찾아 입력해 줍니다.

next_button = driver.find_element_by_css_selector('.your_css_selector_for_next_button')

 

5. csv 저장 이름 : 'reviews.csv'  부분을 원하는 이름으로 수정해 줍니다.

저는 탈모 샴푸 제품 구매 리뷰 데이터를 분석하여 마케팅적으로 활용 할 수 있는 방법에 대해서 분석하는 프로젝트를 진행하는데에 사용하고 있습니다

 

위의 5가지를 수정한다면 네이버 쇼핑 뿐만이 아니라 네이버 스마트 스토어도 리뷰 크롤링이 가능할 것이라고 생각합니다.


 

728x90