2017-05-27 5 views
2

プロジェクトで作業中ですが、Xpathを使用して1つの情報を取得できません。Xpath - Text()を使用して情報を取得するが、パスと数値が表示されない

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

私はコードを見て、私は私はそれがretrivesので、唯一のラベル名取得(スペイン語で、Existencia)価格、写真、その他の情報ではなく、在庫を得ることができた「Existenciaを:」テキストではありません。

私はデータラベルを持ちますが、在庫金額は持っていません。* [@ id = "valExistencia"]/text()[2]

誰かが私を助けることができれば幸いです。私はデータを得ることができないと私は本当に情報が必要です。

私はコードを見ているかのようである:JavaScriptによって動的に生成さ

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]' 

答えて

2

必要なデータ。 requestsでこのデータを取得することはできません。代わりにselenium + PhantomJS、例えば、使用する必要があります

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) 

これはあなたがそれが変更された直後に必要なspanからテキストを取得できるようにする必要があります(数が生成された)

+0

それは完璧に動作し、おかげでたくさん! –

関連する問題