SW/Python

python : 네이버 스토어 판매 제품 정보 크롤링 하는 법

얇은생각 2019. 10. 18. 07:30
반응형

코드

# 네이버 상품 가져오기

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import bs4
import pandas as pd

t_list = []
n_list = []
r_list = []
p_list = []

keyword = "감귤"
driver = webdriver.Chrome(r'C:\Users\Yang\Desktop\chromedriver.exe')
driver.get('https://search.shopping.naver.com/search/all.nhn?where=all&frm=NVSCTAB&query={}'.format(keyword))

item_source = bs4.BeautifulSoup(driver.page_source, 'lxml')
item_list = item_source.find_all('div', class_='info')

for item in item_list[4:]:
    title = item.find('a').text.replace('\n', '')
    price = item.find('span', class_='num').text
    if item.find_all('a', class_='graph'):
        review = item.find_all('a', class_='graph')[0].text
        if len(item.find_all('a', class_='graph')) == 2:
            buy_num = item.find_all('a', class_='graph')[1].text
        else:
            buy_num = '없음'
            
    t_list.append(title)
    p_list.append(price)
    r_list.append(review.replace('리뷰',''))
    n_list.append(buy_num.replace('구매건수',''))
    
pd.DataFrame({'상품명':t_list, '가격':p_list, '리뷰수':r_list, '구매건수':n_list})

 

최근 네이버 스토어가 날이 갈수록 인기가 많아지는 것 같습니다. 이번 웹 크롤러는 셀레니움을 활용해, 원하는 품목에 대한 정보를 가공하여 데이터를 크롤링하도록 하였습니다. 우선 셀레니움에 대해 모르시는 분이 있다면, 다른 분들의 포스팅이나 저의 다른 포스팅들을 참조해주세요.

이번에는 감귤에 대한 네이버 스토어 정보들을 가져오도록 해보겠습니다. 다른 항목을 원하신다면, 키워드 등을 수정하신다면, 충분히 활용할 수 있습니다.

 

결과

웹 크롤러 결과

 

위와 같이 네이버 스토어에 대한 정보들을 크롤링하여, 판다스에 저장하였습니다. 이러한 방식을 활용하면, 다양한 스토어에 있는 아이템 가격과 제목, 리뷰와 같은 정보들을 알 수 있습니다.

반응형