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-XXXXXXXXX,XXX,publisherId="XXXX-XXX" )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', '514]
請記住: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)