scrapy的css选择器 作者:马育民 • 2020-10-21 17:33 • 阅读:10134 # 用法 ``` 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 原文出处:http://malaoshi.top/show_1EF6Tot4TRGX.html