2017-05-27 4 views
2

Ich arbeite an einem Projekt, aber ich kann nicht eine Information über Xpath erhalten.Xpath - Kann Informationen mit Text() erhalten, aber ich kann nicht den Pfad und die Nummer sehen

https://www.vallen.com.mx/detalle/?des=PAL-09-ALT1120&articulo=Arnes-Altitude-Cuerpo-Completo-con-Ajuste-Tipo-Fricci%C3%B3n-Anillos-D-en-Espalda-y-Cintura

Ich schaue auf den Code, und ich war in der Lage Preise, Fotos zu erhalten, und andere Informationen, aber nicht das Inventar (Existencia, in Spanisch) i erhalten nur der Markenname so dass es retrives „Existencia:“ Text, aber nicht die Menge.

Ich versuche // * [@ id = "valExistencia"]/text() [2] "require blank" und ohne [2], bringen Sie Datenschild, aber nicht Inventarmenge.

Ich würde mich freuen, wenn mir jemand helfen kann. Ich kann die Daten nicht erhalten und ich brauche die Informationen wirklich.

Wenn ich den Code anschauen wie:

from lxml import html 
import requests 

#Importar de un TXT simple, un solo dato por renglon 
filename= open("listado_urls.txt") 
url = [urls.rstrip('\n') for urls in filename.readlines()] 

#Hacer un loop 
for urlunico in url: 
    page = requests.get(urlunico) 
    tree = html.fromstring(page.content) 
    inventory = tree.xpath('//div[@class="row"]/div[@class="col-md-12"]/span[@id="valExistencia"]/text()[2]' 

Antwort

2

Erforderliche Daten von JavaScript dynamisch generiert. Sie können diese Daten nicht mit requests erhalten. Vielleicht haben Sie verwenden müssen, beispielsweise selenium + PhantomJS statt:

from selenium import webdriver as web 
from selenium.webdriver.support.ui import WebDriverWait as wait 

driver = web.PhantomJS() 
driver.get("https://www.vallen.com.mx/detalle/?des=PAL-09-ALT1120&articulo=Arnes-Altitude-Cuerpo-Completo-con-Ajuste-Tipo-Fricci%C3%B3n-Anillos-D-en-Espalda-y-Cintura") 
existencia = driver.find_element_by_id("valExistencia") 
wait(driver, 10).until(lambda x: existencia.text != 'Existencia:') 
print(existencia.text) 

Dies sollte Sie Text aus erforderlich span bekommen, damit nur, nachdem es (Nummer generiert wurde) geändert wurde

+0

Es funktioniert perfekt, dank viel! –

Verwandte Themen