【Python】API を使って Amazon の商品情報を収集する方法。
Contents
AmazonAPI ライブラリをインストール
以下のコマンドで python-amazon-simple-product-api ライブラリをインストールします。
|
1 |
$ sudo pip install python-amazon-simple-product-api |
python3 にインストールする場合は以下のようにします。
|
1 |
$ sudo python3 -m pip install python-amazon-simple-product-api |
認証情報を外部ファイルに保存
認証情報が流出しないようにするため、外部隠しファイル「.env」に認証情報を格納し、読み込むようにします。
.env ファイルの中身は以下のようになります。
AMAZON_ACCESS_KEY=<Access Key>
AMAZON_SECRET_KEY=<Secret Access Key>
AMAZON_ASSOCIATE_TAG=<アソシエイトタグ>
環境変数から認証情報を読み込むために、forego というツールをインストールします。
|
1 |
$ sudo apt-get install forego |
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package forego
apt-get だとエラーが出てしまったので、debファイルをダウンロードして、インストールします。
|
1 |
$ wget https://bin.equinox.io/a/9mo7fCPgnTe/forego-20180217041714-linux-amd64.deb |
dpkg をインストールします。
|
1 |
$ sudo apt-get install dpkg |
forego をインストールします。
|
1 |
$ sudo dpkg -i forego-20180217041714-linux-amd64.deb |
「forego run」を付けて、スクリプトを実行します。
|
1 |
$ forego run python amazon_product_search.py |
Amazon 商品検索スクリプト
以下のようなスクリプトを用意し、実行します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# coding:utf-8 import os from amazon.api import AmazonAPI # 環境変数から認証情報を取得する AMAZON_ACCESS_KEY = os.environ['AMAZON_ACCESS_KEY'] AMAZON_SECRET_KEY = os.environ['AMAZON_SECRET_KEY'] AMAZON_ASSOCIATE_TAG = os.environ['AMAZON_ASSOCIATE_TAG'] # AmaoznAPIオブジェクトを作成する amazon = AmazonAPI(AMAZON_ACCESS_KEY, AMAZON_SECRET_KEY, AMAZON_ASSOCIATE_TAG, Region='JP') # SearchIndex='All':全てのカテゴリから検索する products = amazon.search(Keywords='kindle', SearchIndex='All') for product in products: # 商品名 print(product.title) # 商品のURL print(product.offer_url) # 価格と通貨のタプル price, currency = product.price_and_currency print(price, currency) # ASIN print(product.asin) print(product.large_image_url) print(product.medium_image_url) print(product.small_image_url) # 著者のリスト print(product.authors) # 出版社 print(product.publisher) # ISBN print(product.isbn) print("") |
結果が以下のように表示され商品情報が取得できていることが確認できました。
金色のガッシュ!! 完全版(9)
http://www.amazon.co.jp/dp/B07JMJPWP2/?tag=xxxx-22
(None, None)
B07JMJPWP2
https://images-fe.ssl-images-amazon.com/images/I/513rSaBqh0L.jpg
https://images-fe.ssl-images-amazon.com/images/I/513rSaBqh0L._SL160_.jpg
https://images-fe.ssl-images-amazon.com/images/I/513rSaBqh0L._SL75_.jpg
[u’\u96f7\u53e5\u8aa0′]
BIRGDIN BOARD Corp.
None
参考書籍
これらの内容は、以下の書籍を参照しました。
関連記事
-
-
【Python】時系列データ(為替データ)をグラフ表示してみた。
今回は、pandas・matplotlib ライブラリを使って、時系列データ(為替データ)をグラフ表
-
-
python 2.7 を Windows 64bit OS にインストールした。
python 2.7 を Windows にインストールしたときのメモです。 Python に
-
-
【matplotlib】 Python で折れ線グラフを描く方法。
今回は、Python の matplotlib というライブラリを使って簡単に折れ線グラフを描く方法
-
-
【matplotlib】 Python でヒストグラムの横軸と棒(ビン)の数を調整する方法。
Python の matplotlib を使ってヒストグラムを描画し、横軸の目盛りと棒(ビン)がそろ
-
-
【Google Colaboratory】クラウド上でPythonを使って機械学習を行う。
Python をブラウザ上で実行して、手軽に機械学習ができる環境「Google Colaborato
-
-
【Python】API を使って YouTube から動画情報を収集する方法。
API を使って YouTube から動画情報を収集してみたときのメモです。 OS は Lin
-
-
【Python】pip3 で「cannot import name ‘main’」エラーが出たときの対処法。
Python でライブラリをインストールする際に、pipを使います。 Python2 と Py
-
-
【Python】 Series 型を dict(辞書型)に変換する方法。
Python で Series 型を dict(辞書型)に簡単に変換する方法を紹介します。 「
-
-
【Python】Requests ライブラリを使って Web ページを取得してみた。
python の標準ライブラリ urllib を使っても Web ページの取得はできるのですが、Re
-
-
【Pandas】 DataFrame のある列の最大値を含む行のインデックス値を取得する方法。
今回は、Pandas の DataFrame において、ある列で最大値を求めて、その最大値をもつ行に



















