Amazon PA-API (Product Advertising API) wurde ab Dezember 2019 von Version 4.0 auf 5.0 umgestaltet, sodass das Skript auch für Version 5.0 neu organisiert wurde. Es war. (Muss wieder zusammengebaut werden)
Nach dem Erstellen eines Amazon-Verkäuferkontos von hier
access key
secret key
partner tag
Bitte holt.
Bitte installieren Sie `` `amazon-paapi5``` mit pip Befehl etc.
Scratchpad Sie können die Spezifikationen von PA-API 5.0 unter [hier] überprüfen (https://webservices.amazon.com/paapi5/documentation/operations.html). Mit Scratchpad können Sie die drei oben angegebenen KEYs, die Eingabeparameter und ihre Werte einfach in das Textfeld eingeben. Sie können schlagen. Sie können die zu diesem Zeitpunkt tatsächlich generierte API-Anforderung und die JSON-Antwort darauf gemeinsam überprüfen. Es enthält auch Beispielanforderungscodes wie Python und PHP. Es ist sehr einfach zu bedienen, daher ist es eine gute Idee, es auszuprobieren, bevor Sie mit dem Schreiben von Code beginnen.
Probe 1
Eingang | Ausgabe |
---|---|
Suchbegriff | ASIN Produktpreis Produkt-URL Produktname |
Es kann auch ein JAN-Code-Suchwort sein.
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)
Probe 2
Eingang | Ausgabe |
---|---|
ASIN | ASIN Produktpreis JAN-Code Produkt-URL Produktname |
Die Methode ".get_items ()" kann eine API-Antwort erhalten, indem bis zu 10 ASINs in einer Anforderung eingegeben werden.
#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"]#Sie können bis zu 10 gleichzeitig treffen
amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY)
products = amazon.get_items(item_id_type="ASIN", item_ids=asin_list)
#Extrahieren Sie die mit jeder ASIN verknüpften Informationen
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
Klicken Sie hier für die Version mit `` `asin.txt``` wie unten gezeigt
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
#Berechnen Sie, wie viele API-Anforderungen benötigt werden
pages = sum([1 for _ in open('asin.txt')])/10 + 1
a = open("asin.txt","r")#Eingabedatei
b = open("jan.csv","w")#Ausgabedatei
asin_list = []
num = 0
for i in a:
num += 1
asin = i.rstrip()
asin_list.append(asin)
#Drücken Sie die API, wenn die ASIN-Liste 10 Länge erreicht
if len(asin_list) == 10:
send_request(asin_list,b)
asin_list = []
#Letzte Anfrage
elif num == pages:
send_request(asin_list,b)
a.close()
b.close()
monourl
Sie können den Verkaufszustand des Produkts auf der URL der Monorate-Seite überprüfen. Dieser Code ist übrigens für Sedori gemacht.
Recommended Posts