본문 바로가기
Python

[파이썬] 스마트스토어 상세페이지 태그키워드 검색어 텍스트 추출 크롤링

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

상위 스마트 스토어 내부적으로 상세 페이지 해시태그라는 게 있습니다. 관련 태그라고 그게 적어두는 게 있어요. 그러니까 흔히 말하면 블로그로 보면 태그키워드라고 하는 거죠. 이런 태그키워드를 사용했었을 때 어떤 키워드를 사용을 하느냐 어떤 검색어 이런 것을 확인을 할까 이런 것이 궁금할 때 유용하게 볼 수 있는 것을 파이썬 코딩으로 만들어 봤습니다.

 

파이썬 스마트스토어 상세페이지 태그키워드 검색어 텍스트 추출 크롤링

 

해서 만들어 놨었었는데 여기 한 가지 더 코딩을 만들어야겠지만 브랜드 카탈로그라는 게 있죠. 이 브랜드 카탈로그 묶은 것은 보기가 힘들겁니다. 그냥 일반 스마트 스토어인데 등급이 파워냐 빅 파워냐 프리미엄이냐 이런 정도면 상세 페이지 안에 태그를 바로 볼 수가 있어요. 바로 볼 수가 있습니다. 그래서 유용할 것 같아서 가지고 와봤는데요. 아까도 말씀드렸지만 여기 이미지 보시면 아시겠지만 여기 맨 윗부분이 브랜드 카탈로고 묶은 겁니다. 브랜드 카탈로그로 묶으면 이게 바로 상세 페이지로 가는 게 아니기 때문에 한 두 번 까서 가야 돼요. 그래서 더 상세 페이지를 가게 힘든 이 구조로 돼 있다. 보니까 더 디벨롭해야 됩니다. 더 디벨롭해서 완료가 되면 그때 말씀드릴게요. 

스마트스토어 상세페이지 태그키워드 검색어 텍스트 추출 크롤링

하지만 이게 다른 키워드 이런 것들만 하더라도 이걸 유용하게 쓸 수는 있습니다. 위에 게 브랜드 카탈로그였다면 밑에 것이 일반 상품이죠. 일반 상품 슬럿으로 되어 있기 때문에 아래 것은 나오는 거죠. 그게 밑에 있는 이건데 흔히 말하면 이게 밑에 가지고 오는 이게 메타 키워드라는 겁니다. 이게 메타 태그예요. 태중에 하나를 상세 페이지 안에서 긁어서 가지고 오는 이 구조이기 때문에 유용하게 쓰이는 데 많이 도움이 될 것이다라고 판단을 해서 가져와 봤습니다. 

 

스마트스토어 상세페이지 태그키워드 검색어 텍스트 추출 크롤링
스마트스토어 상세페이지 태그키워드 검색어 텍스트 추출 크롤링

그래서 이게 밑에 코딩을 보시면 아시겠지만 톱 파이브 상위 5개만 보여주도록 되어 있습니다. 그래서 안에서 태그만 가져오는 거예요. 심심풀이로 여러분들 중에서도 어떤 키워드에 어떤 키워드에 따라서 상위에 노출되는 것은 태키워드를 뭘로 썼을까 이게 궁금하신다면 참고사항으로 보시는 게 도움이 되지 않을까 싶습니다.

스마트스토어 상세페이지 태그키워드 검색어 텍스트 추출 크롤링

 

 

import requests
from bs4 import BeautifulSoup
import time
import random

keyword='갤럭시워치4투명스트랩'

url = 'https://search.shopping.naver.com/search/all?query={}&frm=NVSHATC'.format(keyword)
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
lis = soup.find('ul', class_='list_basis').find_all('li')

nshop_cnt = 1
for li in lis:
    try:
        div_title = li.find('div', class_='basicList_title__3P9Q7')  # 상품명
        title = div_title.text.strip()
        print(f'\nshop_cnt: {nshop_cnt}\n상품 제목:{title}')
        nshop_cnt += 1

        # 쇼핑몰 등급 (파워, 빅파워, 프리미엄)
        div_grade = li.find('span', class_='basicList_grade__LMHXE').text

        ## 상세페이지 태그 추출
        if div_grade in ('파워', '빅파워', '프리미엄'):
            a_tag = div_title.find('a') # 상품 상세페이지 링크
            response = requests.get(a_tag['href'])
            time.sleep(random.uniform(0.2, 0.7))
            soup = BeautifulSoup(response.text, 'html.parser')
            # 태그 추출 위해 <meta> 태그 스크래핑 
            metas = soup.find('meta', {'name':'keywords'}).get('content').split('/')[0].split(',')[:-1]
            print(f'상세페이지 태그:\n{metas}')
            time.sleep(3)
    except:
        pass

 

 

 

반응형

댓글