Scrapy: Как получить текст и текст с тегом <b>одновременно при использовании scrapy и xpath? - PullRequest
1 голос
/ 17 октября 2019

Мне нужно получить 183,7 из html ниже

<span class="price"><b>183</b>.7</span>

, но если запустить код ниже с режимом оболочки scrapy, доступно только '.7'

response.xpath('//span[@class="price"]/text()').get() 

Как мненаписать код, чтобы получить полный номер?

Я прочитал учебник Scrapy по адресу http://doc.scrapy.org/en/1.7/topics/selectors.html#topics-selectors, но мне все еще трудно понять правильную настройку xpath, чтобы получить нужные мне значения.

Если я попытаюсь

response.xpath('//span[@class="price"]').get() 

, он вернет

['<span class="price"><'b>183</'b>.7 </span>']

, что тоже не то, что мне нужно.

1 Ответ

0 голосов
/ 17 октября 2019

вы можете использовать "//", чтобы получить весь дочерний текст на элементе так:

"".join(response.xpath('//span[@class="price"]//text()').extract())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...