管理者権限のない環境で必要なモジュールをインストールし、python言語を使ってAmazonの商品検索api(Amazon Product Advertising API)によりISBN番号で書籍を検索してみました。
Python実行環境の構築
管理者権限のない環境では、Pythonで書かれたパッケージソフトウェアをインストール・管理するためのパッケージ管理システム「pip」を最初に使えるようにインストールします。自分でインストールするパッケージは、$HOME/.local/以下にまとめてインストールします。まずディレクトリを次のコマンドで作成します。
$ mkdir /home/hoge/.local/lib/python2.7/site-packages
vi等を使って、$HOMEにある.cshrcを編集します。「set path=~」の部分に、以下のように「$HOME/.local/bin」を追加します。
set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin
編集した「.cshrc」を反映します。
$ source .cshrc
以下のコマンドでpipをインストールすると、上記で指定したディレクトリにパッケージがインストールされ、実行ファイルは $HOME/.local/binに設定されます。
$ easy_install --prefix=$HOME/.local pip
Amazonの商品検索に必要なモジュールは、 pip を使用してインストールします。
$ pip install --install-option="--prefix=$HOME/.local" bottlenose $ pip install --install-option="--prefix=$HOME/.local" lxml $ pip install --install-option="--prefix=$HOME/.local" BeautifulSoup4 $ pip install --install-option="--prefix=$HOME/.local" urllib3
書籍検索アプリの作成
Amazon Product Advertising APIのPython「bottlenose」を使用し、戻り値が xml なため、BeautifulSoup でパースします。
# coding=utf8 import bottlenose from bs4 import BeautifulSoup ACCESS_KEY = "xxxx" SECRET_ACCESS_KEY = "xxx" ASSOCIATE_TAG = "xxxx" amazon = bottlenose.Amazon(ACCESS_KEY, SECRET_ACCESS_KEY, ASSOCIATE_TAG, Region="JP") response = amazon.ItemLookup(ItemId="4839930244", ResponseGroup="ItemAttributes",SearchIndex="Books", IdType="ISBN") soup = BeautifulSoup(response,"lxml") print(soup.title)
書籍検索アプリの実行
次のコマンドで書籍検索アプリを実行すると、検索した結果のtitleタグの部分だけが出力されます。
$ python amazonsearch.py <title>Flash Liteで作る携帯コンテンツ実践教科書 (Web Designing BOOKS)</title>