본문 바로가기
Python

[파이썬] 네이버 쇼핑 연관 키워드 검색어 텍스트 추출 크롤링

by 퍼포먼스마케팅코더 2022. 7. 28.
반응형

파이썬 네이버 쇼핑 연관 키워드 검색어 텍스트 추출 크롤링 

이거는 여러분들 중에 네이버 쇼핑 안에 여러 가지 추천해 주는 키워드들이 있지 않습니까 이거를 모으는 데 힘들 거예요. 힘듭니다. 근데 이런 거를 어떻게 하면 빠르게 가져올 수 있을까 이거를 고민을 해봤어요. 어떤 게 될까라고 고민을 해보다가 마침내 몇 몇 가지를 추려서 코딩을 만들어봤습니다. 세 가지 정도를 만들었는데요. 

 

파이썬 네이버 쇼핑 연관 키워드 검색어 텍스트 추출 크롤링

먼저 이제 첫 번째로는 자동 완성 그거예요. 이게 흔히 말하면 네이버 쇼핑 안에서 선풍기라고 검색을 치면 밑에 자동 완성으로 해서 여러 가지 추천 키워드를 줍니다. 정보를 하나 가지고 오는 거 하고 그다음에 만약에 네이버 쇼핑에다가 선풍기라고 검색을 치면 옆에 쇼핑 연관 키워드로 해서 다양한 것들을 보여줄 거예요. 그걸 하나로 다 가지고 오는 겁니다. 그다음에 이외에 하나 플러스로 추천 키워드라는 게 있는데 이게 있을 때도 있고 없을 때도 있고 막 이렇게 가지각색이라서 일단 그거는 생략을 해놓고 이렇게 가져왔습니다. 

 

파이썬 네이버 쇼핑 연관 키워드 검색어 텍스트 추출 크롤링

총 한 세 가지 영역에서 가져오는 건데요. 솔직히 이렇게까지 키워드를 한꺼번에 이렇게 볼 수 있어서 바로 이거를 네이버 검색량을 돌려서 보면 편하잖아요. 참 이런 게 유용하겠다 싶어서 이렇게 가지고 와봤습니다. 확인했었던 결과 키워드 조사라고 하죠. 키워드 리서치 이렇게 부르는데 이런 것을 할 때 시간이 많이 단축됩니다. 시간이 많이 단축되고 빠르게 키워드를 싹 다 뽑아내서 이러한 키워드들이 있구나라는 것을 여러분들이 키워드를 뭔가 상품의 키워드를 파악하시거나 검색어 텍스트를 뭔가 뽑아내는 데 엄청난 시간이 단축될 수 있는 그러한 코딩이라고 보시면 될 것 같습니다.

 

 

import requests
from bs4 import BeautifulSoup
import json
import time

#네이버 쇼핑 자동완성어 추출

search_keyword = '크룩스' 

try :
    url = 'https://shopping.naver.com/api/modules/gnb/auto-complete?keyword=' + search_keyword
    headers = { 'Accept-Language' : 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,zh;q=0.5',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',
                'Accept-Encoding': 'gzip'
    }

    response = requests.get(url, headers=headers)
    json_str = response.text
    keywords = json.loads(json_str)

    for kw in keywords['items'][1] : 
        related_keywords = kw[0][0]
        print(related_keywords)

except :
    pass
time.sleep(1)    

#네이버 쇼핑 연관검색어 추출

try :
    shop_rel_url = 'https://msearch.shopping.naver.com/search/all?query=' + search_keyword

    headers = { 'Accept-Language' : 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,zh;q=0.5',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',
                'Accept-Encoding': 'gzip'
    }  

    shop_rel_response = requests.get(shop_rel_url, headers=headers)
    shop_rel_soup = BeautifulSoup(shop_rel_response.text, 'html.parser')
    shop_rel_words = shop_rel_soup.select('div.relatedTag_scroll_area__37Cda > ul > li')
    #print('\nshop_rel_keywords:', len(shop_rel_words))

    if len(shop_rel_words):
        for li in shop_rel_words:
            print(li.text)
except :
    pass
time.sleep(1)

#네이버 쇼핑 추천키워드 추출

try :
    shop_recom_url = 'https://search.shopping.naver.com/search/all?query={}&cat_id=&frm=NVSHATC#'.format(search_keyword)

    headers = { 'Accept-Language' : 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6,zh;q=0.5',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',
                'Accept-Encoding': 'gzip'
    }  

    shop_rel_response = requests.get(shop_rel_url, headers=headers)
    shop_rel_soup = BeautifulSoup(shop_rel_response.text, 'html.parser')
    shop_rel_words = shop_rel_soup.select('div.relatedTag_scroll_area__37Cda > ul > li')
    #print('\nshop_rel_keywords:', len(shop_rel_words))

    if len(shop_rel_words):
        for li in shop_rel_words:
            print(li.text)
except :
    pass
time.sleep(1)
반응형

댓글