Я пытаюсь проверить, существует ли class = "специальная цена" в приведенном ниже коде. Вот HTML-код:
<div class = "product-shop">
<div class = "f-fix">
<h2 class = "product-name newname"> <a href = "#" title = ""> Xiaomi Mi Band 2 Strap (Black with White Border) </a></h2>
<!--product price-->
<div class = "text-center ">
<div class = "price-box">
<p class = "old-price"> <span class = "price-label">Regular Price:</span >
<span class = "price" id = "old-price-8846" > ৳200 </span>
</p >
<p class = "special-price" >
<span class = "price-label"> Special Price </span>
<span class = "price" itemprop = "price" content = "149" id = "product-price-8846"> ৳149 </span>
</p>
</div>
</div >
</div>
Я использую Scrapy с питоном. После проверки, найден ли класс, мне нужно собрать текст class = "цена".
Вы пробовали что-то вроде:
if response.css('.special-price'):
price = response.css('.price::text').get() # or do whatever you need
или для краткости:
price = response.css('.special-price .price::text').get()
он даст вам None, если нет элемента с классом special-price
.
Я пробовал с этим, и это работает. Как новичок, я пытаюсь сохранить эти данные в переменной и распечатать результат. Вот мой код: «def parse (self, response): self.log ('Я только что посетил:' + response.url) target_div = response.css ('div.product-shop> div.f-fix> div. text-center ') для элемента в target_div: if item.response.css ('. special-price '): price = response.css ('. price :: text '). get () return price else: price = response .css ('. regular-price .price :: text'). get () return price "
Что вы уже пробовали? Какие ошибки / вывод вы получили?