상세 컨텐츠

본문 제목

쿠팡에서 내 제품 검색 결과 확인 자동화 with 파이썬

Python

by mp.jamong 2020. 11. 21. 12:02

본문

 

쿠팡 셀러 입장에서 내가 판매하는 제품이 특정 키워드에서 검색하였을 때 상위노출이 되는지 또는 몇 번째 페이지에 노출되는지 궁금할 것입니다. 왜냐하면 내 제품이 노출되는 페이지에 따라 판매 전략을 다르게 가야하기 때문입니다. 이번 포스팅에서는 내 제품이 쿠팡에서 어느 페이지에서 노출되는지 확인하는 과정을 파이썬을 이용하여 자동화하는 방법에 대해 소개드리겠습니다.

 

 

Contents | 쿠팡에서 내 제품 검색 결과 확인 자동화 with 파이썬

Ⅰ. 크롬 브라우저와 드라이버 다운로드

Ⅱ. 파이썬 설치와 모듈 설치

Ⅲ. 쿠팡에서 내 제품 검색 자동화 with 파이썬

 

 

 

 

1. 크롬 브라우저와 드라이버 다운로드

 

▷ 웹페이지에서 보이는 화면 결과를 수집하기 위해 필요한 것이 크롬 브라우저와 크롬 드라이버가 필요합니다.

 

▷ 크롬 브라우저는 구글에서 만든 웹 브라우저로 많은 사람들이 사용하고 있습니다. 혹 설치하지 않은 분은 아래 링크에서 다운로드 후 설치를 하면 됩니다.

 

Chrome 웹브라우저

더욱 스마트해진 Google로 더 심플하고 안전하고 빠르게.

www.google.com

 크롬 드라이버는 구글에서 만든 크롬 브라우저를 이용하여 자동화된 테스트를 제공하기 위해 만든 오픈소스 도구 입니다. 웹 브라우저를 이용하여 자동으로 정보를 수집하기 위해 필요한 도구 입니다.

 

크롬 드라이버는 아래 링크에서 다운로드가 가능하며, 다운로드 시 주의사항으로 현재 사용 중인 크롬 브라우저 버전과 동일 버전의 드라이버를 다운로드 받아야 정상 동작하니 꼭 버전 확인 후 다운로드하기 바랍니다.

 

Downloads - ChromeDriver - WebDriver for Chrome

WebDriver for Chrome

chromedriver.chromium.org

▷ 크롬 브라우저 버전 확인 방법은 아래와 같습니다. (크롬 브라우저와 드라이버 버전은 업데이트시 변경되니, 크롬 드라이버 동작이 되지 않을 때 버전 확인을 하면 됩니다.)

 

 

 

2. 파이썬 설치와 모듈 설치

 

▷ 파이썬을 사용하기 위해 파이썬이 설치가 되어야 하며, 본 포스팅에서는 파이썬 3.8을 설치하였습니다. 파이썬 설치 방법은 이전 포스팅을 참고하기 바랍니다.

 

[PYTHON ] 파이썬 3.8 설치 방법

파이썬은 다양한 분야에서 사용되는 프로그래밍 언어로 간단하게는 스크립트를 이용한 배치 실행부터 웹 프로그래밍, 데이터 크롤링, 데이터 분석, 업무 자동화 등 다양한 환경에서 사용이 가

mpjamong.tistory.com

▷ 파이썬이 설치가 되었다면, 웹페이지에서의 정보를 수집하기 위해 파이썬의 추가 모듈 설치가 필요합니다. 모듈 설치 방법은 아래와 같이 설치하면 됩니다. (윈도우즈 PC 기준)

 → Selenium 모듈 설치 : pip install selenium

 → Beautifulsoup 모듈 설치 : pip install beautifulsoup4

 

 

3. 쿠팡에서 내 제품 검색 자동화 with 파이썬

 

▷ 쿠팡 검색창에서 특정 검색어를 입력하면 관련 제품의 결과 내용이 출력이 됩니다. 검색 결과 페이지에서 기본 설정으로 1 페이지당 기본 36개의 제품이 출력되며, 최대 27 페이지까지 결과를 보여줍니다. 즉, 검색 제품이 많이 있어도 972개의 제품이 검색으로 노출됩니다.

 

▷ 위의 내용을 토대로 파이썬으로 구현하면, 제품을 검색하더라도 972개 이후의 제품은 검색이 되지 않는다는 것을 인지하면 됩니다.

 

파이썬으로 구현한 검색 결과 자동화 스크립트는 아래와 같습니다. product_list에 제품 검색어와 제품 ID만 입력하면 결과 출력이 됩니다. 


from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
import datetime, time
from urllib import parse

# webdriver 옵션
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko")

# webdriver 설정(Chrome, Firefox 등) - Headless 모드
driver = webdriver.Chrome('chromedriver.exe', options=chrome_options)

# webdriver 설정(Chrome, Firefox 등) - 일반 모드
#driver = webdriver.Chrome('chromedriver.exe')


# 제품 리스트
product_List = [
    ['제품 검색어 입력', '제품 ID 입력'],
    ['제품 검색어 입력', '제품 ID 입력']
]

try:
    for p in product_List:
        # 제품 검색어와 ID 추출
        product_keyword = p[0]
        product_id = p[1]
        product_keyword_encoding = parse.quote(product_keyword)

        # 제품 검색 URL 소스
        url_query = 'https://www.coupang.com/np/search?q='
        url_tail_01 = '&channel=user&component=&eventCategory=SRP&trcid=&traid=&sorter=scoreDesc&minPrice=&maxPrice=&priceRange=&filterType=&listSize=36&filter=&isPriceRange=false&brand=&offerCondition=&rating=0&page='
        url_tail_02 = '&rocketAll=false&searchIndexingToken=1=4&backgroundColor='

        # 제품 리스팅 시작
        print('Coupang Product', product_keyword,'Listing Count START')

        # 제품 리스트 페이지별 검색 (27 페이지 까지 검색)
        for page_num in range(1, 28):
            # 검색 일시
            now = datetime.datetime.now()
            nowDatetime = now.strftime('%Y-%m-%d %H:%M:%S')

            # 제품 검색 URL 생성
            url = url_query + product_keyword_encoding + url_tail_01 + str(page_num) + url_tail_02

            # 제품 검색 URL Request
            driver.get(url)
            time.sleep(2)

            # 제품 리스트 웹페이지 파싱
            html = driver.page_source
            soup = BeautifulSoup(html, 'html.parser')

            products_list = soup.select_one('#productList')
            products = products_list.select('li.search-product')

            # 현재 검색 리스트 페이지 위치 확인
            #print('Now Page Searching...', page_num)

            num = 1
            for product in products:
                # 광고 제품 카운팅 제외
                if product.select('span.ad-badge'):
                    pass
                # 제품 리스팅 검색
                elif product['id'] == product_id:
                    product_name = product.find('img')
                    print(nowDatetime, 'page :', page_num, 'rank :', num, 'product id :', product['id'], 'product name :',
                          product_name.get('alt'))
                    break
                else:
                    num = num + 1

            # 제품 찾으면 종료
            if product['id'] == product_id:
                print('Coupang Product', product_keyword,'Listing Count END','\n')
                break
            elif page_num == 27:
                print('Coupang Product', product_keyword, 'Search Not Found', '\n')

    # 모든 제품 리스트 다 찾으면 종료
    print('Coupang All Product Listing Count END')

except Exception as e:
    print(e)
finally:
    driver.quit()

 

 

▽ 같이 보면 더 좋은 블로그 글 

 

[PYTHON ] 파이썬 3.8 설치 방법

파이썬은 다양한 분야에서 사용되는 프로그래밍 언어로 간단하게는 스크립트를 이용한 배치 실행부터 웹 프로그래밍, 데이터 크롤링, 데이터 분석, 업무 자동화 등 다양한 환경에서 사용이 가

mpjamong.tistory.com

 

[PYTHON] 파이참(PyCharm) 설치

파이썬 프로그래밍을 쉽게 도와주는 IDE(통합개발환경) 어플리케이션인 파이참(PyCharm)을 소개하고자 합니다. 파이참(PyCharm)은 Intellij를 만든 Jetbrain에서 만든 파이썬 통합개발 환경으로 다양한 기

mpjamong.tistory.com

 

 

관련글 더보기

댓글 영역