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
'• programming language > python' 카테고리의 다른 글
파이썬 한글 깨짐 (0) | 2024.04.17 |
---|---|
plt 한글깨짐 (0) | 2024.02.21 |
[파이썬 기초 개념] 표현식, 연산자, 키워드, 문장, 프로그램, 식별자 (0) | 2022.09.01 |
[파이썬 실력 테스트] 20. 사전식 정렬 출력 (0) | 2022.08.18 |
[파이썬 실력 테스트] 19. 약수의 합 출력 (0) | 2022.08.18 |