Homebrew Python Teil 3 - Das Produktsuchprogramm von Amazon

Ich mag den Bereich, in dem Juckreiz erreicht werden kann.

Bitte überprüfen Sie die Genre-Spezifikation von index = "All" unter dem folgenden Link. Produktkategorie angeben (SearchIndex)

Ich finde das ziemlich gut.

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 wie Video
        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('Wählen Sie eine Nummer:'))
                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("Suchbegriff:"),index="All")
    webbrowser.open(A.url)

if __name__ == '__main__':
     main()

Recommended Posts

Homebrew Python Teil 3 - Das Produktsuchprogramm von Amazon
Homebrew Python - Youtube Suchprogramm
Homebrew-Suche anhand des Python-Modulnamens (ShellScript)
[Python] Einkaufsprogramm
QGIS + Python Teil 2
QGIS + Python Teil 1
Python: Scraping Teil 1
Lösung Wenn Sie Python 3.6 oder höher verwenden, benötigen Sie die enum34-Bibliothek ebenfalls nicht. Deinstallieren Sie sie daher und verwenden Sie das Standard-Enum-Modul. Enum34 deinstallieren Führen Sie nach der Deinstallation von enum34 erneut `pip install optuna` aus und Sie haben Optuna erfolgreich installiert! Python, pip, Python3, enum, OptunaPython3 Beginn Teil 1
Python: Scraping Teil 2
Sequentielle Suche mit Python
Python-Übung 1-Breiten-Prioritätssuche
[Python] Suche (itertools) ABC167C
Dichotomie mit Python
Homebrew Python Umgebung Konstruktion
[Python] Suche (NumPy) ABC165C
Memo zur Bisektionssuche (python2.7)
[Python] Bisection-Suche ABC155D
Python Basic Memorandum Teil 2
Python Bit vollständige Suche
Lineare Suche in Python
Python-Grundnotiz - Teil 2
Dichotomie mit Python
Dichotomie mit Python 3
Suchen Sie Twitter mit Python
Binäre Suche in Python
Python-Grundnotiz - Teil 1
Ausgabe von Produktinformationen an csv mithilfe der Rakuten-Produktsuch-API [Python]
Aggregieren und analysieren Sie Produktpreise mit der Rakuten Product Search API [Python]