파이썬으로 쿠팡 파트너스 api활용하기 초기 테스트용 소스
- programming/Python
- 2020. 8. 15. 22:59
안녕하세요. 홍지군입니다.
개인용으로 사용하는 개인 웹 사이트에 글 자동 등록을 하는 프로그램을 테스트 하고 현재는 약간의 오류가 생기는 부분과 맨트의 추가 등등 다양한 변경을 하면서 조금씩 편하게 사용할 수 있도록 변형 수정하고 있는 중입니다.
파이썬 프로그래밍을 활용해서 쉽게 이해 할 수 있도록 소스코드를 공유하는 시간을 가져볼려고 합니다.
이번시간에는 간단하게 쿠팡 파트너스에서 api발급을 받고 python을 활용해 쿠팡에서 기본으로 제공하는 api연동 소스에 대해서 한번 알아보겠습니다.
쿠팡 파트너스에 로그인하고 추가 기능 -> 파트너스 API 로 이동해줍니다.
API 키 발급 항목에 "생성" 버튼을 눌러주면 간단하게 쿠팡 API키를 발급 받으실 수 있습니다.
클릭 한번으로 간단하게 Access Key와 Secret Key를 발급 받으 실 수 있습니다. 해당 Access Key와 Secret Key는 쿠팡 API에 접근하기 위한 고유한 값이기 때문에 개인 스스로 보안을 유지해 타인에게 노출되는 일이 없도록 하셔야 합니다.
API를 발급받았다면 도움말 -> 이용 가이드 -> 파트너스 API로 이동해 Java, Python, PHP, C#, Node.js 등등의 초기 소스를 확인해 보실 수 있습니다. 저는 Python으로 연동을 하는 방식의 소스코드를 한번 살펴보겠습니다.
import hmac
import hashlib
import binascii
import os
import time
import requests
import json
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 = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
REQUEST = { "coupangUrls": [
"https://www.coupang.com/np/search?component=&q=good&channel=user",
"https://www.coupang.com/np/coupangglobal"
]}
def generateHmac(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)
authorization = generateHmac(REQUEST_METHOD, URL, SECRET_KEY, ACCESS_KEY)
url = "{}{}".format(DOMAIN, URL)
resposne = requests.request(method=REQUEST_METHOD, url=url,
headers={
"Authorization": authorization,
"Content-Type": "application/json"
},
data=json.dumps(REQUEST)
)
print(resposne.json())
위에 소스는 쿠팡 파트너스 홈페이지에서 기본으로 제공해주는 Python 소스입니다. 그럼 이제 한번 소스코드를 테스트 해보도록 하겠습니다.
ACCESS_KEY = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
해당 소스 코드에 보면 ACCESS_KEY와 SECRET_KEY의 문자는 모두 x로 처리가 되어있는데 해당 정보는 이전에 발급받은 access_key와 secret_key를 복사해서 붙여넣기를 한뒤에 소스코드를 한번 실행시켜 보겠습니다.
소스코드를 실행시킨 결과입니다.
결과를 보면 'data' : [{},{}] 이런 식으로 뒤에 데이터가 2번 나타나는 것을 확인해 볼 수 있습니다.
소스코드에 보면 "REQUEST = { "coupangUrls": [ " 해당 라인에 URL이 작성되어있는 것을 확인해 볼 수 있는데 해당 url에 정보를 입력하면 짧은 주소를 받을 수 있게 됩니다.
우선 밑의 쿠팡 글로벌의 내용을 지우고 윗 줄의 URL 중 good에서 자신이 검색하기를 원하는 정보로 바꿔줍니다.
소스를 변경한뒤 해당 url을 클릭해보면 쿠팡에서 ipad로 검색되어지는 페이지를 확인할 수 있습니다.
상품의 상세 페이지의 url을 입력하더라도 해당 url의 짧은 주소를 돌려받을 수 있습니다.
데이터는 json으로 표시되는 데이터 입니다. 해당 데이터들을 json의 형식으로 자르고 데이터를 하나씩 편하게 읽어올 수 있는 방법을 살펴보겠습니다.
소스코드의 가장 아랫줄 print(resposne.json()) 소스 코드를 위에 있는 소스코드로 변경을 해봅시다.
json_data = resposne.json()
print(json_data['data'][0]['shortenUrl'])
해당 소스를 살펴보면 data항목의 0번지에 있는 shortenUrl을 읽어오는 것인데 프로그램을 실행시켜 보면 짧은 주소만을 쉽게 반환받아 볼 수 있습니다.
여기서 맨 뒤의 'shortenUrl'외에 데이터에 포함된 originalUrl, landingUrl 또한 받아볼 수 있습니다.
json_data = resposne.json()
print("original URL = " + json_data['data'][0]['originalUrl'])
print("shorten URL = " + json_data['data'][0]['shortenUrl'])
print("landing URL = " + json_data['data'][0]['landingUrl'])
그러면 한번 하나하나 분해해서 살펴보겠습니다.
읽기 복잡했던 결과물에서 자신이 원하는 결과물 만을 쏙쏙 뽑아 보는 것 까지 해봤습니다.
이해가 잘 되셨는지 모르겠네요 ㅎㅎ
다음 시간에는 쿠팡에서 검색 키워드에 결과값을 받고 해당 결과값을 정리해보는 시간을 가져보겠습니다.
쿠팡 추천인 코드
AF1348858
'programming > Python' 카테고리의 다른 글
파이썬 (PyQt5 모듈, Pandas 모듈) exe 용량문제..고민중... (1) | 2020.08.31 |
---|---|
python으로 네이버 블로그 검색 api 활용하기2 json으로 데이터 사용하기 (1) | 2020.08.30 |
python으로 네이버 블로그 검색 api 활용하기! (2) | 2020.08.30 |
파이썬(Python)으로 쿠팡 파트너스 API활용하기 3 (4) | 2020.08.16 |
파이썬(python)으로 쿠팡 파트너스 API 활용하기2 (1) | 2020.08.16 |