파이썬(Python)으로 쿠팡 파트너스 API활용하기 3

안녕하세요. 홍지군입니다.

이번 시간에는 지난시간 쿠팡 파트너스 api로 정보를 호출해 get방식으로 데이터를 가지고 오는 것 까지 해봤습니다. 이번에는 가지오 온 정보를 가지고 활용하는 방법에 대해서 알아보겠습니다. 

지난 글에서는 위에 사진처럼 데이터를가지고와서 확인까지 했다면 이번 글에서는 이런 데이터를 분할하고 사용하는 방법에 대해서 알아볼텐데요. json데이터의 형식을 보면 'data' 속에 'productData'가 있고 그속에 배열로 [0]번부터 ~~ [n]번까지의 배열을 가지게 됩니다. 배열 속에는 "productId", "ProductName", "productPrice", "productImage", "productUrl", "keyword", "rank", "isRocket", "isFreeShipping" 까지 각각의 정보를 읽어와 변수에 저장하고 활용해보자!! 

 

 

주로 사용하는 것 들에 대해서 한번 살펴보자!

주로 사용되는 것을은 상품 명, 상품 가격, 이미지 url, 상품 url, 상품 순위, 로켓 배송 여부 정도 입니다. 

 

resdata = json.dumps(response.json(), indent=4, ensure_ascii=False)
print(resdata)

지난 글에서 작성했던 소스 부분 중 resdata 부분을 지우고 데이터를 하나하나 긁어와 변수에 한번 저장해보도록 하겠습니다. 

coupang_item = response.json()
print(coupang_item['data']['productData'][0]['productName']) #상품 명
print(coupang_item['data']['productData'][0]['productImage']) #상품 이미지 url
print(coupang_item['data']['productData'][0]['productUrl']) #상품 url
print(coupang_item['data']['productData'][0]['productPrice']) #상품 가격
print(coupang_item['data']['productData'][0]['rank'])	# 상품 랭크
print(coupang_item['data']['productData'][0]['isRocket']) #로켓배송 여부

위에 소스로 먼저 수정한 뒤에 코딩한것을 실행해보겠습니다. 

실행된 결과를 보면 위에서 부터 상품명, 이미지 url , 상품 url, 상품가격, 랭크, 로켓배송여부 순으로 데이터가 들어온 것을 확인 해 볼 수 있습니다. 데이터 호출한 것을 살펴보면 coupang_item 변수에 response.json() 데이터를 담았습니다.  

돌려받은 response값을 json형식으로 변환하고 변환된 값을 coupang_item에 담아 데이터를 호출할때

coupang_item['data']['productData'][n]['추출할 내용']

[n]에는 숫자를 넣으면 되는데 limit을 생각하시면 됩니다. limit=20으로 설정해 20개의 데이터를 가지고 왔다면 [0] ~[19] 까지 배열의 데이터를 사용해서 가지고 올 수 있습니다.  반복문을 가지고 데이터를 한번 확인해 보도록 하겠습니다. 

 

def search_coupang(self, keyword, limit):
	URL = "/v2/providers/affiliate_open_api/apis/openapi/products/search?keyword=" + keyword + "&limit=" + str(limit)
	url = "{}{}".format(self.DOMAIN, URL)
	response = requests.request(method=self.method, url=url, headers={"Authorization": self.generateHmac(URL),"Content-Type": "application/json;charset=UTF-8"})
		
	coupang_item = response.json()
			
	for i in range(limit) :
		print(coupang_item['data']['productData'][i]['productName'])
		print(coupang_item['data']['productData'][i]['productImage'])
		print(coupang_item['data']['productData'][i]['productUrl'])
		print(coupang_item['data']['productData'][i]['productPrice'])
		print(coupang_item['data']['productData'][i]['rank'])
		print(coupang_item['data']['productData'][i]['isRocket'])
			
	return 0 

반복문을 통해서 데이터값을 읽어보자 for i in range(limit)의 전달받은 limit값 만큼 반복문을 수행하게 됩니다. 

 

실행된 결과! 

전달한 값은 keyword는 "ipad" limit 값은 5로 지정해서 값을 보내주면 결과 5개 반큼 반복해서 출력해주는 파이썬 프로그램이 완성되었습니다. 

 

이제는 배열 변수를 선언하고 배열에 하나씩 넣어보겠습니다. 

		def search_coupang(self, keyword, limit):
			URL = "/v2/providers/affiliate_open_api/apis/openapi/products/search?keyword=" + keyword + "&limit=" + str(limit)
			url = "{}{}".format(self.DOMAIN, URL)
			response = requests.request(method=self.method, url=url, headers={"Authorization": self.generateHmac(URL),"Content-Type": "application/json;charset=UTF-8"})
		
			coupang_item = response.json()
			
			name = []
			image = []
			url = []
			price = []
			rank = []
			rocket = []
									
			for i in range(limit) :
				name.append(coupang_item['data']['productData'][i]['productName'])
				image.append(coupang_item['data']['productData'][i]['productImage'])
				url.append(coupang_item['data']['productData'][i]['productUrl'])
				price.append(coupang_item['data']['productData'][i]['productPrice'])
				rank.append(coupang_item['data']['productData'][i]['rank'])
				rocket.append(coupang_item['data']['productData'][i]['isRocket'])
			
			print(name[0])
			
			return 0 
        
keyword = "ipad"
limit = 5
Coupang().search_coupang(keyword, limit)
 

항상 coupang_item['data']['productData'][0]['productName'] 이런식으로 계속해서 선언을 하게되면 소스코드도 길어지고 오타가 발생할 수 있기 때문에 하나하나 짧게 줄인 배열 변수를 만들어 정보를 저장해줍니다. 

name = []  << 비어있는 배열을 생성 

배열에는 name.append() 로 배열의 아이템들을 하나하나 추가시킬 수 있습니다. 

 

다음 print(name[0])으로 출력해서 결과를 한번 보겠습니다. 

상품 명이 잘 표시되어 진 것을 확인해보실 수 있습니다. 

 

이번 글에서는 json 데이터를 뜯어와 하나하나 출력해보고 for문을 활용해서 여러개의 데이터를 읽어보고 다시 배열 변수를 선언해 배열에 넣어보기도 하고 다시 배열 변수에 있는 것을 출력까지 해봤습니다. 

 

다음 글에서는 html 코드를 어떻게 문자열 변수에 담고 문자열 변수에 배열 변수를 어떻게 잘 활용해서 하나의 변수에 html소스코드를 담을 수 있는지 같이 한번 해보는 시간을 가져보겠습니다. 

 

*주의사항

1시간에 30회 이상 api를 호출하게 될 경우 24시간 동안 쿠팡 파트너스 사용이 불가능하고 3번 정지당하게 되면 계정이 정지되니 주의하시기 바랍니다.  

 

 

쿠팡 파트너스 추천인 
AF1348858

 

 

구독을 통해서 더 많은 정보를 빠르게 받아보실 수 있습니다. 

궁금하신 점이 있으시면 댓글에 남겨주세요. 궁금하신 다른 api활용도 댓글에 남겨주세요. 

댓글

Designed by JB FACTORY