Amazon の商品価格を取得してみた

Amazon の価格情報を取得する方法としては以下の 2つがありそう。

 * 商品ページにアクセスしてスクレイピング
 * Web API を利用する

こちらのページでは前者の方法で情報取得しています。
PythonとrequestsとBeautifulSoupでAmazonの中古品情報一覧を取得 #Python #WebScraping #せどり
ただ、ページまるごと取ってくるオーバーヘッド、ページ構成が変わった時のデグレとかメンテナンス観点だと面倒なことが多々ありそう。

ここでは無難に Web API 使いましょう。

事前準備

Amazon は、Amazon Product Advertising API を公開しています。

以下のページの案内に沿ってアカウント作成します。
https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html

作成後、AWS のコンソールにアクセスしてセキュリティキーを作成します。
https://console.aws.amazon.com
セキュリティ認証情報>アクセスキー を見に行くと作成画面が出てきます。

スクリプト実装

どの言語でも API は叩けますが、ここでは python で試してみます。
Product Advertising API を利用するための簡易ラッパーライブラリとして、
bottlenose モジュールを使います。
https://github.com/lionheart/bottlenose

また、取得したレスポンスをパースするため、BeautifulSoup もインストールします。

$ pip install bottlenose BeautifulSoup4

実装
# インスタンスを生成
amazon = bottlenose.Amazon(AWS_ACCESS_KEY_ID,
                           AWS_SECRET_ACCESS_KEY,
                           AWS_ASSOCIATE_TAG,
                           Region='JP')
# 価格情報を取得
response = amazon.ItemLookup(ItemId=ASIN,
                             ResponseGroup="OfferSummary")
soup = BeautifulSoup(response)
lowestnewprice = soup.find("lowestnewprice").find("amount").text # 新品の最安値

コメント

このブログの人気の投稿

Callback関数を知らん人がまず理解すべきことのまとめ。

C言語でBluetoothスタックを叩きたい人のBluetooth開発入門その1

構文エラー : ';' が '型' の前にありません