Ich habe den Produktnamen und den niedrigsten Preis von der Amazon-Website mithilfe der API erhalten. Notieren Sie sich dies.
pip install bottlenose
pip install BeautifulSoup
# -*- 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
Recommended Posts