Python Scrapy не может извлечь текст из класса
пожалуйста, посмотрите этот html код:
<header class="online">
<img src="http://static.flv.com/themes/h5/img/iconos/online.png"> <span>online</span>
<img src="http://static.flv.com/themes/h5/img/iconos/ojo16.png"> 428 <p>xxfantasia</p>
</header>
Я хочу получить текст внутри (428, в этом случае). Я использовал это:
def parse(self, response):
sel = Selector(response)
cams = sel.css('header.online')
for cam in cams:
print cam.css('text').extract()
Я думаю, что использовал правильный селектор css, но я получил пустой результат.
помочь?
1 ответов
селекторы CSS обычно не имеют синтаксиса для извлечения текстового содержимого.
но Scrapy расширяет селекторы CSS с помощью ::text
псевдо-элемент, поэтому вы хотите использовать cam.css('::text').extract()
это должно дать вам то же самое как cam.xpath('.//text()').extract()
Примечание: Scrapy также добавляет ::attr(attribute_name)
функциональный псевдоэлемент для извлечения значения атрибута (это также невозможно со стандартными селекторами CSS)