네이버쇼핑 인기검색어 크롤링 bs4

카테고리별 인기검색어 - NAVER쇼핑

사이트 전체를 크롤링 하는것보단
개발자모드에서 Network 등을 살펴보고
ajax 호출부분 , 숨어 있는 페이지 등이 있다면
이용하는 것이 간단하고 좋습니다.

네이버쇼핑 BEST100 인기검색어를 살펴보면
인기검색어를 가져오는 url이 존재함을 확인할 수 있습니다.

네이버쇼핑 URL


브라우저에서 접속해보면
위 그림과 같이 인기검색어를
제공하는 페이지가 나옵니다.

아래는
네이버쇼핑 인기검색어 크롤링 샘플코드입니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import requests
from bs4 import BeautifulSoup

def getNvShoppingRank(category_id):
    res = requests.get("https://search.shopping.naver.com/best100v2/detail/kwd.nhn?catId=%s&kwdType=KWD" % category_id ) 
    html = res.text
    soup = BeautifulSoup(html,"html.parser")
    rank_tags = soup.select("#popular_srch_lst>li")

    for tag in rank_tags:   
        rank = tag.select_one("em").text
        up_down = tag.select_one("span.vary").text  
        title = tag.select_one("a")['title']        
        print("""%s (%s) %s """ % (rank, up_down.strip(), title))

if __name__ == '__main__':
    getNvShoppingRank('50000805')

결과 :
1위 (유지) 폴로니트
2위 (상승6) 여성봄니트
3위 (상승2) 반팔니트
4위 (상승9) 여자폴로니트
5위 (상승6) 골지니트
6위 (상승6) 폴로반팔니트
7위 (상승14) 보웬니트
8위 (상승6) 크롭니트
9위 (유지) 폴로랄프로렌
10위 (상승10) 타미힐피거니트
11위 (상승4) 브이넥니트
12위 (상승6) 홀가먼트니트
13위 (상승3) 에고이스트니트
14위 (상승19) 스퀘어넥니트
15위 (상승21) 리스트니트
16위 (상승9) 에고이스트
17위 (상승2) 카라니트
18위 (하락1) 보웬
19위 (상승4) 니트/스웨터
20위 (진입) 라우렐니트


쇼핑 카테고리별로 인기검색어를 모아볼까요^__^

requests 사용법
BeautifulSoup select 사용법


TAG: #BeautifulSoup #bs4 #requests #crawling #네이버 #쇼핑 #NAVER #select #select_one