Нужно извлечь только одно значение из класса, в котором более двух результатов, при поиске на сайте с использованием Python. - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь извлечь целое число из цены, когда извлекаю информацию с веб-сайта, но я возвращаю 2 значения из класса.

Код веб-сайта:

<spani class="a-price-whole">
23
<spani class="a-price-decimal">.</spani>
</spani>

Мой код Scrapy:

price = response.css('.a-price-whole::text').extract()

Скажем, цена продуктаравен $23.55. Ожидаемый результат равен 23 Однако моя реализация, приведенная выше, возвращает 23,. из кода response.css('.a-price-whole::text').extract()

Не могли бы вы помочь мне с помощью кода Scrapy вернуть только целое число.

Ответы [ 3 ]

1 голос
/ 15 октября 2019
price = response.xpath('//*[@class="a-price-whole"]/text()').re(r'(\d+)')
0 голосов
/ 15 октября 2019

Пожалуйста, используйте extract_first () вместо extract ().

price = response.css('.a-price-whole::text').extract_first()

Надеюсь, это работает для вас.

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

проверить тип переменной цены, затем преобразовать ее в тип с плавающей запятой перед извлечением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...