2021. 1. 3. 08:42ㆍ카테고리 없음
컴퓨터 전공자 아닙니다.
불필요한 말 빼고, 해봤어요. 그리고 드디어 엑셀 추출 성공.
(다른 블로그 참고 많이 했고, 결국 필요했던 코드 종합을 공개합니다.)
필요한 부분만 수정해서 쓰세요.
많이 블로그 와주세요~!
(내용이 마음에 조금이 만족하셨다면 구독 부탁 드려요~^^; )
1. 결과
import hmac
import hashlib
import binascii
import os
import time
import requests
import json
import urllib.request
#from selenium import webdriver
import secrets
from urllib.parse import urlencode
REQUEST_METHOD = "POST"
DOMAIN = "https://api-gateway.coupang.com"
URL = "/v2/providers/affiliate_open_api/apis/openapi/v1/deeplink"
# Replace with your own ACCESS_KEY and SECRET_KEY
ACCESS_KEY = "여러분 key 입력"
SECRET_KEY = "여러분 key 입력"
class cupangMgr:
DOMAIN = "https://api-gateway.coupang.com"
def generateHmac(self, method, url, secretKey, accessKey):
path, *query = url.split("?")
os.environ["TZ"] = "GMT+0"
datetime = time.strftime('%y%m%d')+'T'+time.strftime('%H%M%S')+'Z'
message = datetime + method + path + (query[0] if query else "")
signature = hmac.new(bytes(secretKey, "utf-8"),
message.encode("utf-8"), hashlib.sha256).hexdigest()
return "CEA algorithm=HmacSHA256, access-key={}, signed-date={}, signature={}".format(accessKey, datetime, signature)
def get_productsdata(self, request_method, authorization, keyword, limit):
URL = "/v2/providers/affiliate_open_api/apis/openapi/products/search?keyword=" + \
urllib.parse.quote(keyword) + "&limit=" + str(limit)
url = "{}{}".format(self.DOMAIN, URL)
response = requests.request(method=request_method, url=url, headers={
"Authorization": authorization, "Content-Type": "application/json;charset=UTF-8"})
retdata = json.dumps(response.json(), indent=4).encode('utf-8')
jsondata = json.loads(retdata)
data = jsondata['data']
productdata = data['productData']
return productdata
if __name__ == '__main__':
results = []
method = 'GET' # 정보를 얻는것이기 때문에 GET
keyword = '알아서 바꾸세요' # 검색할 키워드, 쿠팡에서 검색하는거랑 결과가 동일합니다.
limit = 5 # 몇개의 정보를 가져올지 설정. 상위부터 가져옵니다.
access_key = '여러분 key 입력' # API access key
secret_key = '여러분 key 입력' # API secret key
URL = "/v2/providers/affiliate_open_api/apis/openapi/products/search?keyword=" + \
urllib.parse.quote(keyword) + "&limit=" + str(limit)
test = cupangMgr()
authorization = test.generateHmac(
method, URL, secret_key, access_key) # HMAC 생성
productdata = test.get_productsdata(
method, authorization, keyword, limit) # API 호출
print(productdata) # 결과 확인
results.append(productdata)
print(productdata)
excel_name = "result-productsearch"
import pandas as pd
data_frame = pd.DataFrame(results)
data_frame.to_excel('{}.xlsx'.format(excel_name), sheet_name='{}'.format(
excel_name), startrow=0, header=True)
파트너스 ID : " AF2926929 " 입니다. 내용이 조금이라도 참고가 되셨다면 꼭 좀 부탁 드려요~