Amazon PA-API (Product Advertising API) a été repensé de la version 4.0 à 5.0 à partir de décembre 2019, le script a donc également été réorganisé pour la version 5.0. C'était. (Besoin de remonter)
Après avoir créé un compte vendeur Amazon, depuis ici
access key
secret key
partner tag
Veuillez obtenir.
Veuillez installer amazon-paapi5
avec la commande pip etc.
Scratchpad Vous pouvez vérifier les spécifications de PA-API 5.0 à ici. Avec Scratchpad, vous pouvez facilement entrer les trois KEY spécifiées ci-dessus, les paramètres d'entrée et leurs valeurs dans la zone de texte. Vous pouvez frapper. Vous pouvez vérifier la demande d'API réellement générée à ce moment-là et la réponse JSON à celle-ci ensemble. Il fournit également des exemples de codes de requête tels que Python et PHP. Il est très facile à utiliser, c'est donc une bonne idée de l'essayer avant de commencer à écrire du code.
Échantillon 1
contribution | production |
---|---|
Rechercher un mot | ASIN Prix du produit URL du produit Titre du produit |
Il peut également s'agir d'un mot de recherche de code JAN.
python
from amazon.paapi import AmazonAPI
KEY = "<INPUT YOUR KEY>"
SECRET = "<INPUT YOUR SECRET KEY>"
TAG = "<INPUT YOUR PARTNER TAG>"
COUNTRY = "JP"
keyword = "Nintendo Switch"
amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY)
products = amazon.search_items(keywords=keyword)
asin = products["data"][0].asin
price = products["data"][0].offers.listings[0].price.amount
url = products["data"][0].detail_page_url
title = products["data"][0].item_info.title.display_value
print(asin, price, url, title)
Échantillon 2
contribution | production |
---|---|
ASIN | ASIN Prix du produit Code JAN URL du produit Titre du produit |
La méthode .get_items ()
peut obtenir une réponse API en saisissant jusqu'à 10 ASIN dans une seule requête.
#coding:utf-8
from amazon.paapi import AmazonAPI
KEY = "<INPUT YOUR KEY>"
SECRET = "<INPUT YOUR SECRET KEY>"
TAG = "<INPUT YOUR PARTNER TAG>"
COUNTRY = "JP"
asin_list = ["B087QZ1FWZ","B087QW57NZ","B081T9VJS4","B087QZGN24"]#Vous pouvez frapper jusqu'à 10 à la fois
amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY)
products = amazon.get_items(item_id_type="ASIN", item_ids=asin_list)
#Extraire les informations associées à chaque ASIN
for asin in asin_list:
try:
asin = products["data"][asin].asin
price = int(products["data"][asin].offers.listings[0].price.amount)
jan = products["data"][asin].item_info.external_ids.ea_ns.display_values[0]
url = products["data"][asin].detail_page_url
title = products["data"][asin].item_info.title.display_value
print(asin, price, jan, url, title)
except:
None
Cliquez ici pour la version avec asin.txt
comme indiqué ci-dessous
asin.txt
B087QZ1FWZ
B087QW57NZ
B081T9VJS4
B087QZGN24
B081T9Z4KG
B084XH5NW1
B07YNPWP5M
B086ZGFKPR
B086ZFTHY2
B084DF682G
B07QWR3KDW
B07MR6YMXC
B081T9MCG7
B084HPJWK9
B087D2NW77
python
#coding:utf-8
from amazon.paapi import AmazonAPI
from time import sleep
KEY = "<INPUT YOUR KEY>"
SECRET = "<INPUT YOUR SECRET KEY>"
TAG = "<INPUT YOUR PARTNER TAG>"
COUNTRY = "JP"
amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY)
def send_request(asin,b):
products = amazon.get_items(item_id_type="ASIN", item_ids=asin_list)
num = 0
for asin in asin_list:
try:
num += 1
asin = products["data"][asin].asin
price = products["data"][asin].offers.listings[0].price.amount
jan = products["data"][asin].item_info.external_ids.ea_ns.display_values[0]
url = products["data"][asin].detail_page_url
monourl = "https://mnrate.com/item/aid/"+asin
title = products["data"][asin].item_info.title.display_value
print (asin, jan, price)
b.write(asin+","+jan+","+title+","+price+","+url+","+monourl+"\n")
sleep(0.1)
except:
None
#Calculez le nombre de demandes d'API nécessaires
pages = sum([1 for _ in open('asin.txt')])/10 + 1
a = open("asin.txt","r")#Fichier d'entrée
b = open("jan.csv","w")#Fichier de sortie
asin_list = []
num = 0
for i in a:
num += 1
asin = i.rstrip()
asin_list.append(asin)
#Frappez l'API lorsque la liste ASIN atteint 10 longueur
if len(asin_list) == 10:
send_request(asin_list,b)
asin_list = []
#Dernière requete
elif num == pages:
send_request(asin_list,b)
a.close()
b.close()
monourl
Vous pouvez vérifier les conditions de vente du produit sur l'url de la page monorate. Au fait, ce code est fait pour Sedori.
Recommended Posts