Pembungkus python untuk Walmart io API. Hanya mendukung API Afiliasi untuk saat ini. Proyek ini terbuka untuk kontribusi
Untuk mengunduh WIOpy, fork repo github ini atau cukup gunakan Pypi melalui pip.
pip instal WIOpy
Untuk memutakhirkan paket, jalankan saja
pip instal WIOpy --upgrade
Contoh pembuatan koneksi WIOpy Satu catatan penting adalah Anda harus memasukkan jalur file kunci pribadi.
dari 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 juga mendukung panggilan asinkron. Untuk menggunakannya, semuanya akan sama tetapi Anda harus menunggu panggilan dan objek yang dibangun berbeda.
dari wiopy import AsyncWalmartIOasync_walmart_io = AsyncWalmartIO(...)data = menunggu async_walmart_io.product_lookup('33093101')[0]
Saat melakukan panggilan ke API, sebuah objek akan dikembalikan. Objek tersebut adalah versi objek dari JSON yang dikembalikan.
Ada dua cara untuk mendapatkan info dari objek:
data.name
data['name']
Contoh objek yang dikembalikan dan yang tidak (review/pencarian adalah variabel yang dikembalikan):
review.reviewStatistics.averageOverallRating
# Panggilan bersarang
search.facets
# Mengembalikan dict yang sekarang dapat digunakan seperti dict dan bukan objek
Beberapa atribut akan mengembalikan dict dan bukan objek karena kurangnya dokumentasi dari Walmart.
Saat mendapatkan atribut dari WalmartResponse
, atribut tersebut akan mengembalikan response
atau None
. Namun mencoba mendapatkan atribut None
tetap akan menimbulkan kesalahan. Detail tambahan tentang panggilan dan tanggapan. Namun, dokumen tersebut tidak konsisten dan kurang memiliki praktik umum seperti skema respons. Itulah sebabnya sesuatu seperti respon aspek pencarian tidak ada karena dokumen menunjukkan bahwa respon tersebut ada dalam respon tetapi tidak jenis data apa yang akan dikandungnya.
Meskipun mungkin ada respons yang hilang atau respons tidak dikonversi menjadi objek, harap periksa WalmartResponse untuk mendapatkan gambaran tentang respons yang akan dihasilkan. Beberapa properti tidak selalu ada dalam respons.
API Produk Katalog memungkinkan pengembang untuk mengambil katalog produk dengan cara yang diberi nomor halaman. Katalog dapat disaring berdasarkan kategori, merek dan/atau penawaran khusus seperti rollback, izin, dll.
data = walmart_io.catalog_product(category='3944', maxId='8342714')
Respons katalog berisi kategori, format, halaman berikutnya, totalPages, dan daftar item
API produk yang dijelajahi postingan memungkinkan Anda merekomendasikan produk kepada seseorang berdasarkan riwayat tampilan produk mereka.
data = walmart_io.post_browsed_products('54518466')
Respons memberikan 10 item teratas yang relevan dengan id yang diberikan
Ada dua cara untuk mencari produk. Yang pertama adalah dengan memasukkan satu string
data = walmart_io.product_lookup('33093101')[0]
atau Anda dapat memberikan daftar string
data = walmart_io.product_lookup('33093101, 54518466, 516833054')data = walmart_io.product_lookup(['33093101', '54518466', '516833054'])
Ingat: product_lookup selalu mengembalikan daftar WalmartProducts
bulk_product_lookup
mirip dengan product_lookup
namun, versi massal tidak menimbulkan kesalahan dan merupakan generator.
Item diteruskan sebagai potongan dengan ukuran maksimal 20. Jika terjadi kesalahan pada panggilan tersebut, panggilan yang sama akan dicoba ulang berdasarkan jumlah yang diberikan. Jika kesalahan masih terjadi, semua item akan hilang. Namun seluruh panggilan tidak akan hilang.
data = walmart_io.bulk_product_lookup('33093101, 54518466, 516833054', amount=1, retries=3)untuk item dalam data:untuk item dalam item:print(item)
Tanggapan diberikan oleh generator WalmartProducts
Jika Anda tidak terbiasa dengan generator async; untuk memanggil versi async dengan benar:
data = async_walmart_io.bulk_product_lookup('33093101, 54518466, 516833054')async untuk item dalam data: ...
Dapatkan rekomendasi berdasarkan id produk tertentu
data = walmart_io.rekomendasi_produk('54518466')
Respon memberikan daftar produk terkait
API Ulasan memberi Anda akses ke ulasan item ekstensif di Walmart yang telah ditulis oleh pengguna Walmart.com
data = walmart_io.reviews('33093101')
Respon memberikan data ulasan
Search API memungkinkan pencarian teks di katalog Walmart.com dan mengembalikan item yang cocok yang tersedia untuk dijual online.
# Cari TV di dalam elektronik dan urutkan berdasarkan kenaikan harga:data = walmart_io.search('tv', CategoryId='3944', sort='price', order='ascending')
Anda juga dapat menambahkan aspek ke pencarian Anda
data = walmart_io.search('tv', filter='merek:Samsung')
Respons pencarian memberikan kembali daftar produk dan beberapa data meta. Ia mengembalikan elemen facets
tetapi tidak ada detail di API tentang apa yang bisa dikembalikannya. Ini adalah daftar dari beberapa jenis yang tidak diketahui
API dapat mengembalikan daftar toko terdekat di dekat lokasi tertentu. Baik kode pos atau panjang/lat
data = walmart_io.stores(lat=29.735577, lon=-95.511747)
Layanan taksonomi memaparkan taksonomi yang digunakan untuk mengkategorikan item di Walmart.com.
Detail tentang params tidak ada di dokumen
data = walmart_io.taxonomy()
API Item Trending dirancang untuk memberikan informasi tentang apa yang paling laris di Walmart.com saat ini.
data = walmart_io.trending()
WIOpy mendukung logging melalui modul logging. Konfigurasi modul logging bisa sesederhana:
impor logginglogging.basicConfig(level=logging.INFO)