【Python】Amazon マーケットプレイス Webサービス(Amazon MWS) のAPIを使って出品商品レポートが取得できるモジュールを作りました。
ソースコードは以下の通りです。
使い方は以下の通りです。
# coding: utf-8 # API情報を設定 SellerID = "SellerId" AWSAccesKeyId = "AWSAccessKeyId" AWSSecretAccessKey = "AWSSecretAccessKey" Region = "JP" report = Report( AWSAccessKeyId=AWSAccessKeyId, AWSSecretAccessKey=AWSSecretAccessKey, SellerId=SellerId, Region=Region) # 出品商品レポートの生成をリクエスト response = report.request_report(ReportType="_GET_MERCHANT_LISTINGS_DATA_") # リクエストIDを取得 request_id = response.find("ReportRequestId").text try: # レポートが完成してレポートIDが取得できるまで監視する while True: # リクエストIDからレポートの生成状況を取得する response = report.get_report_request_list(RequestId=request_id) # statusが_DONE_がどうか確認。_DONE_だったらレポートIDを取得して終了 if "_DONE_" == response.find("ReportProcessingStatus").text: report_id = response.find("GeneratedReportId").text break # 頻繁にアクセスすると503エラーなどが返ってくる場合があるので2分間スリープする time.sleep(120) # 取得したレポートIDをもとにレポートを取得する response = report.get_report(ReportId=report_id) print(response.raw) except Exception as e: print(e)