Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 3, 2020 00:51:11

fargo
Зарегистрирован: 2020-06-03
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь по response.xpath конкретному месту на странице

Всем доброго времени суток.

Есть страница https://www.decathlon.ru/dozhdevik-nh500-muzh-id_8505020.html

В коде страницы есть место:

 <div class="kam_header-info_article">Артикул : 8505020</div>

В scrapy shell выполняю:
 response.xpath("//div[@class='kam_header-info_article']//text()").extract()

Получаю пустой out, хотя ожидаю получить текст “Артикул : 8505020”

Почему получаю пустой ответ?

Офлайн

#2 Июнь 3, 2020 06:51:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

Помощь по response.xpath конкретному месту на странице

Проверь, находит ли он вообще узел.

<div class="kam_header-info_article">

  
>>> import lxml.html
>>> 
>>> text = """
... <div class="kam_header-info_article">Артикул : 8505020</div>
... """
>>> 
>>> doc = lxml.html.fromstring(text)
>>> doc.xpath("//div[@class='kam_header-info_article']//text()")
['Артикул : 8505020']
>>> 
  
>>> import lxml.html
>>> 
>>> text = """
... <div class="kam_header-info_article">Артикул : 8505020</div>
... """
>>> 
>>> doc = lxml.html.fromstring(text)
>>> doc.xpath('//div[@class="kam_header-info_article"]//text()')
['Артикул : 8505020']
>>>

Через lxml такой XPath-запрос работает.

Может так быть, что страница генерируется динамически и в исходном коде страницы нет этого тега.



Отредактировано py.user.next (Июнь 3, 2020 06:53:56)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version