2017-03-28 3 views
1

Ich versuche, ein Werkzeug zu automatisieren, Sneaker Kauf zu automatisieren. Und ich versuche die Verfügbarkeit von Turnschuhen online zu überprüfen. Ich bin neu im Programmieren und das ist mein erstes Projekt. Vielen Dank.Python beautifulsoup 4 Eine Klasse auswählen

def CheckStock(url, model): 
    url = "http://www.adidas.com/us/pureboost-ltd-shoes/S80701.html?pr=product_rr&slot=3" 
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'} 
    html = requests.get(url, headers=headers) 
    page = bs4.BeautifulSoup(html.text, "lxml") 
    Sizes = page.select('.size-dropdown-block') 
    Sizes[0].getText() 

Ich weiß, dass die Seite ausgewählt wird, weil ich den Befehl page.title.string verwenden und es zeigt den richtigen Titel. Beim Ausführen von Sizes wird der folgende Fehler angezeigt.

Traceback (most recent call last): 
    File "<pyshell#146>", line 1, in <module> 
    x[0].getText() 
IndexError: list index out of range 
+1

Die Funktion funktioniert für mich, Anfragen 2.13.0, bs4 4.5.3. Was ist 'x'? – DyZ

+0

Größen [0] .getText(). Sorry, Ignoriere das x nur eine weitere Instanz von mir, die mehrere Codes testet. – johnnnieyy

+0

Bitte zeigen Sie uns alle relevanten Code. Wie initialisierst du 'x'? Was genau verursacht den Fehler? – DyZ

Antwort

0

Größen blau ist Check (es könnte eine Funktion/Methoden einen anderen Namen für jetzt benutzen), wenn der (.Size-Drop-Down-Block) im Quellcode vorliegt. STRG + U (die meisten Browser) oder Rechtsklick> Seitenquelle anzeigen. Es könnte Javascript generiert werden. Wenn dies der Fall ist, müssen Sie Selenium oder einen anderen automatisierten Browser verwenden.

Verwandte Themen