请查看以下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选择器,但结果为空。
有什么帮助吗?
CSS选择器通常没有语法来提取文本内容。
但是Scrapy使用::text
伪元素扩展了CSS选择器,因此您要使用cam.css('::text').extract()
that应该给您与cam.xpath('.//text()').extract()
注意:Scrapy还添加了::attr(attribute_name)
功能性的伪元素来提取属性值(使用标准CSS选择器也是不可能的)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句