#python #html #web-scraping #scrapy
#python #HTML #веб-очистка #scrapy
Вопрос:
Я пытаюсь извлечь цену из html, используя приведенное ниже выражение xpath.
<div class="-hr -pvs -mtxs" data-prd-prices="">
::before
<span dir="ltr" data-price="" class="-b -ltr -tal -fs24">₦ 3,550</span>
</div>
my_xpath = //div[@class='-hr -pvs -mtxs']/span/text()
Выражение xpath определяет цену, но когда я пытаюсь снизить цену, я получаю следующее
[<Selector xpath="//div[@class='-hr -pvs -mtxs']/span/text()" data='₦ 3,550'>]
Я знаю, что это происходит из ::before в теге html. что это значит и как я могу извлечь цену
когда я наведу курсор на ::before в инструменте разработчика Chrome, я получаю следующее
div.-hr -pvs -mtxs::before
Ответ №1:
Вы поступили правильно, но вы не извлекаете данные.
my_xpath = "//div[@class='-hr -pvs -mtxs']/span/text()"
extracted_data = response.xpath(my_xpath).getall()
должен выполнить эту работу.