Walmart io API 的 python 包装器。目前仅支持 Affiliate API。该项目开放供稿
要下载 WIOpy,可以分叉此 github 存储库,也可以通过 pip 使用 Pypi。
pip 安装 WIOpy
要升级软件包,只需运行
pip 安装 WIOpy --升级
创建 WIOpy 连接的示例 一个重要的注意事项是您需要传入私钥文件路径。
from wiopy import WalmartIOwalmart_io = WalmartIO(private_key_version="1",private_key_filename="./WM_IO_private_key.pem",consumer_id='XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',publisherId="XXXXXXX", )data = walmart_io.product_lookup('33093101')[0]
WIOpy 还支持异步调用。使用时,一切都是一样的,但您必须等待调用,并且构造的对象是不同的。
来自 wiopy 导入 AsyncWalmartIOasync_walmart_io = AsyncWalmartIO(...)data =等待 async_walmart_io.product_lookup('33093101')[0]
当调用API时,将返回一个对象。该对象是返回的 JSON 的对象版本。
有两种方法可以从对象中获取信息:
data.name
data['name']
返回对象和非返回对象的示例(查看/搜索是返回的变量):
review.reviewStatistics.averageOverallRating
# 嵌套调用
search.facets
# 返回一个字典,现在可以像字典一样使用,而不是对象
由于缺少沃尔玛的文档,某些属性将返回字典而不是对象。
当从WalmartResponse
获取属性时,它将返回response
或None
。但尝试获取None
属性仍然会引发错误。有关呼叫和响应的额外详细信息。然而,这些文档不一致,并且缺乏响应模式等典型实践。这就是为什么缺少搜索方面响应之类的内容,因为文档显示它位于响应中,但没有显示它将包含什么类型的数据。
虽然可能缺少响应或响应未转换为对象,但请检查 WalmartResponse 以了解响应将返回的内容。某些属性并不总是出现在响应中。
Catalog Product API 允许开发人员以分页方式检索产品目录。目录可以按类别、品牌和/或任何特殊优惠(如回滚、清仓等)进行过滤。
数据 = walmart_io.catalog_product(category='3944', maxId='8342714')
目录响应包含类别、格式、nextPage、totalPages 和项目列表
浏览过的产品 API 允许您根据某人的产品查看历史记录向其推荐产品。
数据 = walmart_io.post_browsed_products('54518466')
响应给出与给定 ID 相关的前 10 项
查找产品有两种方法第一种是传递单个字符串
数据 = walmart_io.product_lookup('33093101')[0]
或者你可以传递一个字符串列表
数据 = walmart_io.product_lookup('33093101, 54518466, 516833054') 数据 = walmart_io.product_lookup(['33093101', '54518466', '516833054'])
请记住:product_lookup 始终返回 WalmartProducts 列表
bulk_product_lookup
与product_lookup
类似,但是,bulk 版本不会引发错误,并且它是一个生成器。
项目以最大大小为 20 的块形式传入。如果该调用发生错误,将根据给定的数量重试相同的调用。如果错误仍然发生,所有项目都将丢失。但整个通话不会丢失。
data = walmart_io.bulk_product_lookup('33093101, 54518466, 516833054', amount=1, retries=3)对于数据中的项目:对于项目中的项目:print(item)
响应给出了 WalmartProducts 的生成器
如果您不熟悉异步生成器;正确调用异步版本:
data = async_walmart_io.bulk_product_lookup('33093101, 54518466, 516833054') 数据中的项目异步: ...
根据给定的产品 ID 获取推荐
数据 = walmart_io.product_recommendation('54518466')
响应给出了相关产品列表
通过评论 API,您可以访问 Walmart.com 用户撰写的关于 Walmart 的广泛商品评论
数据 = walmart_io.reviews('33093101')
回复给出评论数据
搜索 API 允许在 Walmart.com 目录上进行文本搜索,并返回可在线销售的匹配商品。
# 在 electronics 中搜索 tv 并按价格递增排序:data = walmart_io.search('tv', CategoryId='3944', sort='price', order='ascending')
您还可以在搜索中添加方面
数据 = walmart_io.search('电视', 过滤器='品牌:三星')
搜索响应返回产品列表和一些元数据。它返回一个facets
元素,但API上没有关于它可以返回什么的详细信息。这是一些未知类型的列表
该 API 可以返回指定位置附近最近的商店列表。邮政编码或经/纬度
数据 = walmart_io.stores(lat=29.735577, lon=-95.511747)
分类法服务公开了用于对 Walmart.com 上的商品进行分类的分类法。
文档中缺少有关参数的详细信息
数据 = walmart_io.taxonomy()
Trending Items API 旨在提供目前 Walmart.com 上最畅销商品的信息。
数据 = walmart_io.trending()
WIOpy 支持通过日志记录模块进行日志记录。日志记录模块的配置可以很简单:
导入logginglogging.basicConfig(级别=logging.INFO)