【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)
