使用带有Scrapy的CSS选择器获取href

发布于 2021-01-29 15:08:57

我想获得href价值:

<span class="title">
  <a href="https://www.example.com"></a>
</span>

我尝试了这个:

Link = Link1.css('span[class=title] a::text').extract()[0]

但是我只是把文本放在<a>。我怎样才能获得链接href

关注者
0
被浏览
65
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您正在寻找的是:

    Link = Link1.css('span[class=title] a::attr(href)').extract()[0]
    

    由于您还匹配了span“ class”属性,因此您甚至可以编写

    Link = Link1.css('span.title a::attr(href)').extract()[0]
    

    请注意,::text伪元素和::attr(attributename)功能伪元素 不是 标准的CSS3选择器。它们是Scrapy
    0.20中CSS选择器的扩展。


    编辑(2017-07-20):从Scrapy 1.0开始,您可以使用.extract_first()代替.extract()[0]

    Link = Link1.css('span[class=title] a::attr(href)').extract_first()
    Link = Link1.css('span.title a::attr(href)').extract_first()
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看