scrapy的css选择器

用法

response.css(text)

返回的是selector对象

例子

response.css('a')返回的是selector对象

提取标签对象

  • 方式一:

    response.css(text).extract()
    

    返回list,其元素是标签字符串

  • 方式二:

    response.css(text).extract_first()
    

    返回第一个标签字符串

例子

  • response.css('a').extract()返回list,其元素是a标签字符串

  • response.css('a').extract_first()返回第一个a标签字符串

  • response.css('a::text').extract()返回list,其元素是a标签中的文本

  • response.css('a::text').extract_first()返回的是第一个a标签中的文本

  • response.css("h2 a::text").extract_first()返回h2标签内第一个a标签中的文本

  • response.css("p[class=baseinfo] span ::text").extract()[1]返回p class='baseinfo'标签内第2个span标签中的文本

  • response.css('a[href*="image"]::attr(href)').extract()返回所有a标签中href属性包含image的值

  • response.css('a[href*="image"] img::attr(src)').extract()返回所有a标签下image标签的src属性

提取标签中的属性

  • 方式一:

    response.css(text).attrib['属性']
    
  • 方式二:

    response.css("标签名::attr(属性名)").extract()
    

例子

  • next_page=response.css("a[class='page_no']")[-1]
    # 获取a标签的href属性值
    next_page_url=next_page.attrib["href"]
    
  • response.css("div.abc a::attr(href)").extract()

  • response.css('a::attr(href)').extract_first()返回的是第一个a标签中href属性的值

感谢:
https://blog.csdn.net/superliugang/article/details/88947700


原文出处:/show_1EF6Tot4TRGX.html