Я использую scrapy with scrapy spla sh, чтобы получить данные из некоторых URL-адресов, таких как URL продукта или URL продукта 2 .
У меня есть Lua Сценарий со временем ожидания и возвращаю HTML:
script = """
function main(splash)
assert(splash:go(splash.args.url))
assert(splash:wait(4))
return splash:html()
end
"""
, затем я выполняю его.
yield SplashRequest(url, self.parse_item, args={'lua_source': script},endpoint='execute')
Отсюда я нужно 3 элемента, это 3 разных цены товара 3 загружены с JS.
У меня есть xpath, чтобы получить 3 элемента , Но проблема в том, что иногда это работает, а иногда не работает
price_strikethrough = response.xpath('//div[@class="price-selector"]/div[@class="prices"]/span[contains(@class,"active-price strikethrough")]/span[1]/text()').extract_first()
price_offer1 = response.xpath('//div[@class="price-selector"]/div[@class="prices"]/div[contains(@class,"precioDescuento")][1]/text()').extract_first()
price_offer2 = response.xpath('//div[@class="price-selector"]/div[@class="prices"]/div[contains(@class,"precioDescuento")][2]/text()').extract_first()
Я не знаю, что еще нужно сделать, чтобы это работало должным образом. Я попытался изменить значения ожидания, но это то же самое. Иногда это работает нормально, иногда я не получаю данные. Как я могу убедиться, что всегда получаю нужные мне данные?