python-amazon-simple-product-api:Python开发者必备的Amazon产品广告API终极指南
python-amazon-simple-product-api:Python开发者必备的Amazon产品广告API终极指南
python-amazon-simple-product-api是一个功能强大的Python包装器,专为Amazon产品广告API设计,让开发者能够轻松地在Python应用中集成Amazon产品数据查询功能。无论是构建电商分析工具、价格比较网站还是产品推荐系统,这个库都能提供简单高效的解决方案。
🚀 为什么选择python-amazon-simple-product-api?
作为Python开发者,与Amazon产品广告API交互可能会面临复杂的认证流程和繁琐的请求构造。而python-amazon-simple-product-api通过以下特性解决了这些痛点:
- 面向对象的接口设计:将Amazon产品数据封装为直观的Python对象,无需处理原始API响应
- 完整的功能覆盖:支持产品搜索、单品查询、相似产品推荐等核心功能
- 多区域支持:轻松切换不同国家/地区的Amazon站点(US、DE、FR、JP等)
- 批量操作能力:高效处理多个产品ID的批量查询
- 购物车管理:支持创建、修改和管理购物车功能
📋 快速开始:准备工作
在使用这个强大的库之前,您需要完成以下准备步骤:
必备条件
- Amazon开发者账号:注册Amazon Product Advertising API
- AWS账号:获取访问密钥(Access Key)和密钥(Secret Key)
- 关联标签(Associate Tag):注册Amazon联盟账号获取
依赖安装
该库需要以下依赖包:
- Bottlenose:Amazon API的基础包装器
- lxml:XML解析库
- python-dateutil:日期时间处理工具
可以通过pip一键安装所有依赖:
pip install bottlenose lxml python-dateutil
💻 安装指南:快速上手
安装python-amazon-simple-product-api非常简单,只需使用pip命令:
pip install python-amazon-simple-product-api
如果您需要从源代码安装,可以克隆仓库并执行安装:
git clone https://gitcode.com/gh_mirrors/py/python-amazon-simple-product-api
cd python-amazon-simple-product-api
python setup.py install
🔍 核心功能详解
1. 初始化API客户端
首先,您需要导入AmazonAPI类并创建实例:
from amazon.api import AmazonAPI
amazon = AmazonAPI(AMAZON_ACCESS_KEY, AMAZON_SECRET_KEY, AMAZON_ASSOC_TAG)
对于不同地区的Amazon站点,可以指定region参数:
# 使用德国亚马逊
amazon_de = AmazonAPI(AMAZON_ACCESS_KEY, AMAZON_SECRET_KEY, AMAZON_ASSOC_TAG, region="DE")
支持的地区包括:['US', 'FR', 'CN', 'UK', 'IN', 'CA', 'DE', 'JP', 'IT', 'ES']
2. 产品查询(Lookup)
通过产品ID(ASIN)查询单个产品信息:
product = amazon.lookup(ItemId='B00EOE0WKQ')
print(product.title) # 输出产品标题
print(product.price_and_currency) # 输出价格和货币单位
print(product.ean) # 输出EAN码
print(product.large_image_url) # 输出产品图片URL
也可以批量查询多个产品:
products = amazon.lookup(ItemId='B00KC6I06S,B005DOK8NW,B00TSUGXKE')
for product in products:
print(f"ASIN: {product.asin}, Title: {product.title}")
3. 产品搜索(Search)
使用关键词搜索产品,支持多种搜索索引:
products = amazon.search(Keywords='kindle', SearchIndex='All')
for i, product in enumerate(products):
print(f"{i}. '{product.title}'")
如果只需要前N个结果,可以使用search_n方法:
products = amazon.search_n(10, Keywords='kindle', SearchIndex='All')
有效搜索索引包括:'All','Apparel','Appliances','ArtsAndCrafts','Automotive','Baby','Beauty',等多个类别(完整列表请参见源代码)。
4. 相似产品推荐(Similarity Lookup)
获取与指定产品相似的产品推荐:
products = amazon.similarity_lookup(ItemId='B0051QVESA,B005DOK8NW')
for product in products:
print(f"Similar product: {product.title}")
5. 购物车操作
创建和管理购物车:
# 创建购物车
product = amazon.lookup(ItemId="B0016J8AOC")
item = {'offer_id': product.offer_id, 'quantity': 1}
cart = amazon.cart_create(item)
# 添加商品到购物车
another_product = amazon.lookup(ItemId='0312098286')
another_item = {'offer_id': another_product.offer_id, 'quantity': 1}
another_cart = amazon.cart_add(another_item, cart.cart_id, cart.hmac)
# 修改购物车商品数量
for item in cart:
cart_item_id = item.cart_item_id
modify_item = {'cart_item_id': cart_item_id, 'quantity': 3}
modified_cart = amazon.cart_modify(item, cart.cart_id, cart.hmac)
# 清空购物车
cleared_cart = amazon.cart_clear(cart.cart_id, cart.hmac)
📚 高级应用:书籍搜索技巧
对于书籍搜索,该库支持强大的Power Search语法:
products = amazon.search(
Power="subject:history and (spain or mexico) and not military and language:spanish",
SearchIndex='Books'
)
这使您能够构建复杂的书籍搜索查询,精确筛选所需内容。
🧪 测试与贡献
运行测试
要运行测试套件,请按照以下步骤操作:
- 安装Nose测试框架:
pip install nose - 创建
test_settings.py文件,设置以下变量:AMAZON_ACCESS_KEY = 'your_access_key' AMAZON_SECRET_KEY = 'your_secret_key' AMAZON_ASSOC_TAG = 'your_assoc_tag' - 运行测试:
nosetests
贡献代码
如果您想为这个项目贡献代码,请遵循以下准则:
- 所有代码必须包含单元测试
- 确保所有测试通过
- 代码需符合PEP8规范
- 保持代码覆盖率不降低
- PR提交前请基于master分支进行rebase
📄 官方文档
更多详细信息,请参考:
📝 许可证
本项目采用MIT许可证,详情请参见LICENSE.txt文件。
Copyright © 2012 Yoav Aviram
更多推荐

所有评论(0)