[PYTHON] Holen Sie sich den Produktnamen und den niedrigsten Preis mit der Amazon Product Advertising API

Zweck

Ich habe den Produktnamen und den niedrigsten Preis von der Amazon-Website mithilfe der API erhalten. Notieren Sie sich dies.

Angenommene Umgebung

Vorbereitungen

pip install bottlenose
pip install BeautifulSoup

Code

# -*- coding: utf-8 -*-
import bottlenose
from BeautifulSoup import BeautifulSoup
import random
import time
from urllib2 import HTTPError

AWS_ACCESS_KEY_ID='******' #Von der Verwaltungskonsole bezogen
AWS_SECRET_ACCESS_KEY='******' #Von der Verwaltungskonsole bezogen
AWS_ASSOCIATE_TAG='******-22' #Partnerregistrierung erforderlich

SearchIndex="Books" #Referenz https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?JPSearchIndexParamForItemsearch.html
Keywords="Python" #Suchbegriff

def error_handler(err):
  ex = err['exception']
  if isinstance(ex, HTTPError) and ex.code == 503:
    time.sleep(random.expovariate(0.1))
    return True

amazon = bottlenose.Amazon(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_ASSOCIATE_TAG,Region="JP",ErrorHandler=error_handler)

#Ermitteln Sie die Anzahl der Ergebnisseiten
response = amazon.ItemSearch(
             SearchIndex=SearchIndex,
             Keywords=Keywords,
             ResponseGroup="ItemIds",
             ErrorHandler=error_handler)
soup=BeautifulSoup(response)
totalpages=int(soup.first('totalpages').text)
print "totalPages=",totalpages

#Holen Sie sich jede Seite
for page in range(totalpages) :
  print "="*20,"page",page+1
  if page >= 10: # max 10 pages
    break
  response = amazon.ItemSearch(
               SearchIndex=SearchIndex,
               Keywords=Keywords,
               ResponseGroup="Small,OfferSummary",
               ItemPage=page+1,
               ErrorHandler=error_handler)
  soup=BeautifulSoup(response)
  items = soup.findAll('item')
  for item in items:
    print item.title.text ,
    if item.offersummary and item.offersummary.lowestnewprice:
      print item.offersummary.lowestnewprice.formattedprice.text,
    print

Ich verstehe. Ich habe es nicht verstanden

Recommended Posts

Holen Sie sich den Produktnamen und den niedrigsten Preis mit der Amazon Product Advertising API
Abrufen von Amazon-Daten mit Keep API # 1 Abrufen von Daten
Erhalten Sie Daten mithilfe der API des Ministeriums für innere Angelegenheiten und Kommunikation
Prognostizieren Sie das Geschlecht anhand des Namens mithilfe der Gender-API und von Pykakasi in Python
Holen Sie sich das Wetter mit API und lassen Sie Raspberry Pi sprechen!
Aggregieren und analysieren Sie Produktpreise mit der Rakuten Product Search API [Python]
Abrufen von Salesforce-Daten mithilfe der REST-API
Erhalten Sie Nachrichten von jedem der drei großen Mobilfunkunternehmen mithilfe von Django und der Nachrichten-API
Kaufen und verkaufen Sie virtuelle Währungen mit der Zaif-API
Erhalten Sie E-Mails mithilfe der Google Mail-API in Java
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
[Python] Holen Sie sich Produktinformationen wie ASIN und JAN mit Amazon PA-API Version 5.0
Extrahieren Sie den Produktnamen und den Preis aus der Produktliste in der E-Mail mit der Kaufabrechnung von Yodobashi.com.