読者です 読者をやめる 読者になる 読者になる

黒猫のWeb的開発

Webやスマートフォンアプリ開発未経験者が何かを勉強して作っていくためのメモです。

PythonでAmazonの画像URLを取得する。

Amazonの画像をPythonで行う。

Amazon Product Advertising APIを使うつもりだったが、認証がなにかとめんどくさそう。
Pythonのライブラリに「python-amazon-product-api」があるため、それを使う。
python-amazon-product-api — python-amazon-product-api 0.2.8 documentation

ライブラリのインストール

pipでインストール。表示用に、

pip install python-amazon-product-api
pip install lxml

試しに書いたコード。

# -*- coding: utf-8 -*-

from amazonproduct import API, AWSError
from lxml import etree

config = {
    'access_key': 'XXXXXXXXXXXXXXXXXXXX',
    'secret_key': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
    'associate_tag': 'XXXXXXXXXX-22',
    'locale': 'jp'
}

def lookup(asin):
    api = API(cfg=config)
    dict={}
    try:
        result = api.item_lookup(asin, ResponseGroup="Images,ItemAttributes")
        #print(etree.tostring(result, pretty_print=True))
        for item in result.Items.Item:
            dict["asin"]=item.ASIN.text
            dict["title"]=item.ItemAttributes.Title.text
            dict["binding"]=item.ItemAttributes.Binding.text
            dict["publisher"]=item.ItemAttributes.Publisher.text
            dict["swatch_image"]=item.ImageSets.ImageSet.SwatchImage.URL
            dict["small_image"]=item.ImageSets.ImageSet.SmallImage.URL
            dict["thumbnail_image"]=item.ImageSets.ImageSet.ThumbnailImage.URL
            dict["tiny_image"]=item.ImageSets.ImageSet.TinyImage.URL
            dict["medium_image"]=item.ImageSets.ImageSet.MediumImage.URL
            dict["large_image"]=item.ImageSets.ImageSet.LargeImage.URL
    except AWSError, e:
        print("code:%s message:%s" % (e.code, e.message))
    return dict

if __name__ == "__main__":
    result = lookup("B001D35UZS")
    print result

確かに簡単に画像URLが取得できる。楽チン。楽チン。