CSS选择器

除了正则和XPATH以外,scrapy中还支持第三种选择器,那就是CSS选择器;下面就一一介绍常见的CSS选择器的语法

1. 标签属性值的提取

例如我们要提取下面标签中<a>href的值:

<li class="current"><a href="[http://lab.scrapyd.cn/page/1/](http://lab.scrapyd.cn/page/1/)">1</a>哈哈哈</li>

语法:
标签名::attr(属性名).类名 [标签名]::attr(属性名)

response.css("a::attr(href)")
response.css(".current a::attr(href)")

2. 提取标签的内容

以上述为例,我们提取<li>标签中的文字内容还可以直接使用::text

response.css("li::text").extract()

3. 星号(*)的使用

我们需要选区一个标签的所有子标签的文字内容,例如:

<div class="post-content">
  <p>如果你因失去了太阳而流泪,那么你也将失去群星</p>
  <p>随便写点东西吧</p>
</div>

我们要获取div下所有p标签的内容:

response.css(".post-content *::text").extract()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 其实平时用得多的选择器无非也就是那么几个,时间久了,许多不常用的选择器就慢慢忘记了。为了不让自己忘记这些选择器,今...
    盛夏晚清风阅读 5,819评论 0 5
  • 一、CSS选择器 关于CSS选择器,首先请看这里:CSS 选择器参考手册 通过以上,我们可以将CSS选择器分为以下...
    fehysunny阅读 6,723评论 0 2
  • 基本浏览了一轮学习CSS基础的内容,收货颇丰~知识点满满,举一反三,有种触类旁通的感觉。但是,在走完一轮下来后,发...
    江湖竖子阅读 2,312评论 0 1
  • 1.class 和 id 的使用场景? 类选择器允许以一种独立于文档元素的方式来指定样式。该选择器可以单独使用,也...
    草鞋弟阅读 7,144评论 0 1
  • 曾经有一部电影,叫做《肖申克的救赎》。实际上英语不是这个名字。故事的发生地在鲨堡监狱。 主人公蒙冤入狱。各种虐心的...
    Elaine匹阅读 3,644评论 0 0