본문 바로가기
Python

[python] 쿠팡 파트너스 자동 포스팅하는 프로그램 만드는방법!!Part2

by 센세이 2023. 4. 25.
728x90
반응형

안녕하세요.

오늘은 저번 시간에 이어서 출력한 품목들을 문서로 추출하는 프로그램을 작성해보도록하겠습니다~!

 

Let's Go~!

 

 

import datetime
import hmac
import hashlib
import os
import time
import requests
import json
import urllib.request
from urllib.parse import urlencode

class cupangMgr:

    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"})
        retdate = json.dumps(response.json(), indent=4).encode('utf-8')
        jsondata = json.loads(retdate)
        data = jsondata['data']
        productdata = data['productData']
        return productdata
   
if __name__ == '__main__':
    method = 'GET'
    keyword = '마스크'
    limit = 10
    access_key=""
    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)
    productdata = test.get_productsdata(method,authorization,keyword,limit)
    productCount = len(productdata)
    i = 0
    while i < limit:
        print(productdata[i]['productId'])
        print(productdata[i]['productName'])
        print(productdata[i]['productPrice'])
        print(productdata[i]['productImage'])
        print(productdata[i]['productUrl'])
        print(productdata[i]['keyword'])
        print(productdata[i]['rank'])
        print(productdata[i]['isRocket'])
        print(productdata[i]['isFreeShipping'])
        print(datetime.datetime.now())

저번 시간에는 서칭한 품목들의 리스트를 console로 확인하는 방법까지했는데요.

 

이어서 시작하겠습니다.

 

일단 추출할수있는 lib 다운받아야합니다.

pip install pandas

pandas를 설치 후 

import pandas as pd

삽입해줍니다.

그리고 아래처럼 코드를 삽입해주면됩니다.

while i < limit:
        print(productdata[i]['productId'])
        print(productdata[i]['productName'])
        print(productdata[i]['productPrice'])
        print(productdata[i]['productImage'])
        print(productdata[i]['productUrl'])
        print(productdata[i]['keyword'])
        print(productdata[i]['rank'])
        print(productdata[i]['isRocket'])
        print(productdata[i]['isFreeShipping'])
        print(datetime.datetime.now())
 
df = pd.DataFrame(productdata)
    print(df)
    df.to_csv('쿠팡_products_list.csv', index=False, encoding='utf-8-sig')

그리고 실행을 하면 csv파일이 다운받아져있을거에요!

 

그러면 오늘도 다들 즐거운 코딩하시고 다음시간에 만나요 

안뇽~!

 

그럼 20000~

728x90
반응형

댓글