[PYTHON] Obtenez le nom du produit et le prix le plus bas à l'aide de l'API Amazon Product Advertising

Objectif

J'ai obtenu le nom du produit et le prix le plus bas sur le site Amazon à l'aide de l'API, alors notez-le.

Environnement supposé

Préparation préalable

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='******' #Obtenu depuis la console de gestion
AWS_SECRET_ACCESS_KEY='******' #Obtenu depuis la console de gestion
AWS_ASSOCIATE_TAG='******-22' #Inscription d'associé (affilié) requise

SearchIndex="Books" #Référence https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?JPSearchIndexParamForItemsearch.html
Keywords="Python" #Mot-clé de recherche

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)

#Obtenez le nombre de pages de résultats
response = amazon.ItemSearch(
             SearchIndex=SearchIndex,
             Keywords=Keywords,
             ResponseGroup="ItemIds",
             ErrorHandler=error_handler)
soup=BeautifulSoup(response)
totalpages=int(soup.first('totalpages').text)
print "totalPages=",totalpages

#Obtenez chaque page
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

Je comprends. Je n'ai pas compris.

Recommended Posts

Obtenez le nom du produit et le prix le plus bas à l'aide de l'API Amazon Product Advertising
Obtenez des données Amazon à l'aide de Keep API # 1 Obtenez des données
Obtenez des données à l'aide de l'API du ministère des Affaires intérieures et des Communications
Prédire le sexe à partir du nom à l'aide de l'API Gender et de Pykakasi en Python
Obtenez la météo en utilisant l'API et laissez Raspberry Pi parler!
Regroupez et analysez les prix des produits à l'aide de l'API Rakuten Product Search [Python]
Obtenir des données Salesforce à l'aide de l'API REST
Recevez des nouvelles de chacune des trois principales entreprises de téléphonie mobile en utilisant Django et l'API News
Achetez et vendez de la monnaie virtuelle à l'aide de l'API Zaif
Recevoir des e-mails à l'aide de l'API Gmail en Java
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
[Python] Obtenez des informations produit telles que ASIN et JAN avec Amazon PA-API ver5.0
Extrayez le nom du produit et le prix de la liste de produits dans l'e-mail de déclaration d'achat de Yodobashi.com.