[Python] 아마존 상품 검색페이지에서 ASIN 정보 수집하기

아마존 사이트에서 fishing rod 라는 검색어로 상품을 검색했을 때 검색된 상품 리스트의 ASIN 정보를 수집하는 코드이다.

# _*_ coding: utf-8 _*_

from bs4 import BeautifulSoup
import urllib
import html5lib
import time

def getSearchItemAsin(keywords):
    headers = {'User-Agent': ' Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0'}

    asins = []
    sleep_time = 0
    sleep_exec = True

    for page in range(1, 21):
        try:
            if(sleep_time > 0 and sleep_exec == True):
                time.sleep(sleep_time)

            values = {'keywords': keywords, 'page' : page, 'ie' : 'UTF8', 'qid' : int(time.time()) }

            data = urllib.parse.urlencode(values)
            data = data.encode('ascii')

            request = urllib.request.Request('https://www.amazon.com/s/ref=sr_ex_n_0', data, headers)
            with urllib.request.urlopen(request, timeout=30) as response:
                the_page = response.read()

            result = BeautifulSoup(the_page, 'html5lib')

            content = result.find_all('li', class_='s-result-item')

            for li in content:
                asin = li.get('data-asin')
                asins.append(asin)

            if(sleep_time == 0):
                sleep_time = 4
            sleep_exec = True
        except:
            sleep_exec = False

    return asins

asins = getSearchItemAsin('fishing rod')

for asin in asins:
    print(asin)

검색 결과 페이지 파싱은 BeautifulSoup 모듈을 사용했다.

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

카카오톡 플러스친구 채팅 : NCUBE.NET

4 thoughts to “[Python] 아마존 상품 검색페이지에서 ASIN 정보 수집하기”

  1. 안녕하세요.
    하나 질문드립니다.

    아마존 api 값을 받아서 해당 페이지에 내용이 특정 조건을 만족하면 그 해당 페이지의 가격과 링크를 뽑고 싶은 상황입니다.

    https://www.amazon.com/gp/aw/d/B072JH4HPT/ref=ya_st_dp_summary?ie=UTF8&psc=1

    해당 상품 내리다 보면 스페셜 오퍼라는 곳이 나오는데그 부분에서 추출입니다.

    아마존 전 상품 기준으로 추출하고 싶은데 혹시 구현이 가능할까왜??

    http://docs.aws.amazon.com/AWSECommerceService/latest/DG/CHAP_MotivatingCustomerstoBuy_Promotions.html

    http://docs.aws.amazon.com/AWSECommerceService/latest/DG/CHAP_MotivatingCustomerstoBuy_Promotions.html

    api 정보도 있는데 솔루션을 못 찾겠네요

    가능하시면 도움 부탁드립니다.

  2. 좋은 글 감사합니다. 덕분에 아마존 검색결과를 쉽게 저장할수 있게 되었습니다. 흉내내본 결과를 제 블로그에 올려보려고 합니다. 그래도 되겠지요?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.