Homebrew Python Partie 3 - Programme de recherche de produits d'Amazon

J'aime la zone où les démangeaisons peuvent être atteintes.

Veuillez vérifier la spécification de genre de index = "All" sur le lien ci-dessous. Spécifiez la catégorie de produit (SearchIndex)

Je pense que c'est plutôt bien.

import bottlenose
from bs4 import BeautifulSoup
import webbrowser

class Content:
    pass

class Amazon():
    def __init__(self):
        AMAZON_ACCESS_KEY_ID = ""
        AMAZON_SECRET_KEY    = ""
        AMAZON_ASSOC_TAG     = ""
        self.amazon = bottlenose.Amazon(AMAZON_ACCESS_KEY_ID, AMAZON_SECRET_KEY, AMAZON_ASSOC_TAG, Region="JP")
    def search(self,query,index="All"):# index =Genre comme la vidéo
        response = self.amazon.ItemSearch(SearchIndex=index, Keywords=query, ItemPage=1, ResponseGroup="Large")
        xml  = response.decode('utf-8','strict')
        soup = BeautifulSoup(xml, "html5lib")
        data = soup.findAll('item')
        for d in data:
            url   = d.detailpageurl.text
            title = d.title.text.replace("[","【").replace("]","】")
            con       = Content()
            con.asin  = d.asin.text
            con.amazonjs= '[amazonjs asin="%s" locale="JP"]' % d.asin.text
            con.title = title
            con.url   = url
            con.link  = '<a href="%s">%s</a>' % (url,title)
            con.price = d.formattedprice.text
            con.img   = d.largeimage.url.text
            yield con

class SelectAmazon():
    def __init__(self,query,index="All"):
        data = list(Amazon().search(query,index=index))
        while True:
            for i,datum in enumerate(data):
                print("%s:%s" % (i,datum.title))
            try:
                put = int(input('Sélectionnez un numéro:'))
                break
            except:
                continue
        self.asin  = [datum.asin for datum in data][put]
        self.title = [datum.title for datum in data][put]
        self.url   = [datum.url for datum in data][put]
        self.price = [datum.price for datum in data][put]
        self.img = [datum.img for datum in data][put]
        self.amazonjs = [datum.amazonjs for datum in data][put]
        self.link  = [datum.link for datum in data][put]

def main():
    A = SelectAmazon(input("Mot de recherche:"),index="All")
    webbrowser.open(A.url)

if __name__ == '__main__':
     main()

Recommended Posts

Homebrew Python Partie 3 - Programme de recherche de produits d'Amazon
Homebrew Python - Programme de recherche YouTube
Recherche homebrew à partir du nom du module python (ShellScript)
[Python] Programme d'achat
QGIS + Python Partie 2
QGIS + Python Partie 1
Python: grattage partie 1
Python3 commence la partie 1
Python: grattage, partie 2
Recherche séquentielle avec Python
Exercice Python Recherche prioritaire sur 1 largeur
[Python] Recherche (itertools) ABC167C
Dichotomie avec Python
construction d'environnement python homebrew
[Python] Recherche (NumPy) ABC165C
Recherche de bisection (python2.7) mémo
[Python] Recherche de bisection ABC155D
Mémorandum de base Python partie 2
recherche complète de bits python
Recherche linéaire en Python
Mémo de base Python - Partie 2
Dichotomie avec python
Dichotomie avec Python 3
Rechercher sur Twitter avec Python
Recherche binaire en Python
Mémo de base Python - Partie 1
Exportez les informations produit au format CSV à l'aide de l'API de recherche de produits Rakuten [Python]
Regroupez et analysez les prix des produits à l'aide de l'API Rakuten Product Search [Python]