Обертка Python для Walmart io API. На данный момент поддерживается только партнерский API. Проект открыт для вкладов
Чтобы загрузить WIOpy, либо создайте форк этого репозитория GitHub, либо просто используйте Pypi через pip.
pip установить WIOpy
Чтобы обновить пакет, просто запустите
pip install WIOpy --upgrade
Пример создания соединения WIOpy Важное замечание: вам необходимо передать путь к файлу закрытого ключа.
из импорта wiopy 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 = await async_walmart_io.product_lookup('33093101')[0]
При вызове API будет возвращен объект. Этот объект является объектной версией возвращенного JSON.
Получить информацию об объекте можно двумя способами:
data.name
data['name']
Пример возвращаемого объекта и объекта, которого нет (просмотр/поиск — возвращаемые переменные):
review.reviewStatistics.averageOverallRating
# Вложенный вызов
search.facets
# Возвращает словарь, который теперь можно использовать как словарь, а не как объект
Некоторые атрибуты возвращают dict, а не объект из-за отсутствия документации от Walmart.
При получении атрибута из WalmartResponse
он вернет либо response
, либо None
. Но попытка получить атрибут None
все равно приведет к ошибке. Дополнительная информация о звонках и ответах. Однако документы противоречивы и не содержат типичных практик, таких как схема ответа. Вот почему что-то вроде ответа о аспектах поиска отсутствует, потому что в документах указано, что оно есть в ответе, но не указано, какой тип данных он будет содержать.
Хотя ответ может отсутствовать или ответ не преобразуется в объект, проверьте WalmartResponse, чтобы получить представление о том, что вернет ответ. Некоторые свойства не всегда присутствуют в ответе.
API каталога продуктов позволяет разработчику получать каталог продуктов с разбивкой на страницы. Каталог можно фильтровать по категориям, брендам и/или специальным предложениям, таким как откат, распродажа и т. д.
данные = Walmart_io.catalog_product (категория = '3944', maxId = '8342714')
Ответ каталога содержит категорию, формат, nextPage, totalPages и список элементов.
API продуктов, просмотренных после просмотра, позволяет вам рекомендовать продукты кому-либо на основе их истории просмотра продуктов.
данные = Walmart_io.post_browsed_products('54518466')
В ответе указаны 10 лучших элементов, соответствующих данному идентификатору.
Существует два способа поиска продукта. Первый — передать одну строку в
данные = Walmart_io.product_lookup('33093101')[0]
или вы можете передать список строк
data = walmart_io.product_lookup('33093101, 54518466, 516833054')data = walmart_io.product_lookup(['33093101', '54518466', '516833054'])
Помните: product_lookup всегда возвращает список продуктов Walmart.
bulk_product_lookup
похож на product_lookup
, однако массовая версия не вызывает ошибок и является генератором.
Элементы передаются как фрагменты максимального размера 20. Если при этом вызове возникает ошибка, тот же вызов будет повторен на основе заданного количества. Если ошибка по-прежнему возникает, все элементы будут потеряны. Но весь звонок не будет потерян.
data = walmart_io.bulk_product_lookup('33093101, 54518466, 516833054', сумма = 1, повторы = 3) для элементов в данных: для элемента в элементах: печать (элемент)
Ответ дает генератор WalmartProducts
Если вы не знакомы с асинхронными генераторами; для правильного вызова асинхронной версии:
data = async_walmart_io.bulk_product_lookup('33093101, 54518466, 516833054')async для элементов в данных: ...
Получайте рекомендации на основе заданного идентификатора продукта
данные = Walmart_io.product_recommendation('54518466')
В ответе приводится список сопутствующих товаров.
API отзывов предоставляет вам доступ к обширным обзорам товаров на Walmart, написанным пользователями Walmart.com.
данные = Walmart_io.reviews('33093101')
В ответе приведены данные проверки.
API поиска позволяет выполнять текстовый поиск в каталоге Walmart.com и возвращает соответствующие товары, доступные для продажи в Интернете.
# Найдите телевизор среди электроники и отсортируйте его по возрастанию цены: data = walmart_io.search('tv', CategoryId='3944', sort='price', order='ascending')
Вы также можете добавить аспекты в свой поиск.
data = walmart_io.search('tv', filter='brand:Samsung')
Ответ на поиск возвращает список продуктов и некоторые метаданные. Он возвращает элемент facets
, но в API нет подробностей о том, что он может возвращать. Это список какого-то неизвестного типа
API может возвращать список ближайших магазинов рядом с указанным местоположением. Либо почтовый индекс, либо долгота/широта.
данные = Walmart_io.stores(lat=29.735577, lon=-95.511747)
Служба таксономии предоставляет таксономию, используемую для категоризации товаров на Walmart.com.
Подробности о параметрах отсутствуют в документации.
данные = Walmart_io.taxonomy()
API Trending Items предназначен для предоставления информации о том, что сейчас пользуется наибольшим спросом на Walmart.com.
данные = Walmart_io.trending()
WIOpy поддерживает ведение журнала через модуль регистрации. Настройка модуля журналирования может быть такой простой, как:
импортировать журналирование logging.basicConfig(level=logging.INFO)