Scrapy选择器xpath选择器xpath匹配后返回的结果是一个列表get提取list()里面的值#extractextract_first以被getall()get()方法取代defparse(self,response):#获取第一个结果,没有结果返回default设置的默认值Noneresponse.xpath("").get(default=0)#获取全部匹配结果response.xpath("").getall()正则获取list()里面的值defparse(self,response):#正则匹配返回list()的第一个值,没有匹配返回默认值response.xpath('').re_first(r'.',default=0)#匹配list()里面的所有值response.xpath('').re(r'href="(.+?)"')其他方法index(value)返回value所在列表位置的索引值。defparse(self,response):response.xpath('').index("大数据男孩")count(value)返回value出现的个数。defparse(self,response):response.xpath('').count("大数据男孩")css选择器提取css选择器匹配结果的方法同上defparse(self,response):response.css('a::attr(href)').getall()
jQuery基础选择器名称用法描述ID选择器$("#id")获取指定ID的元素类选择器$(".class")获取同一类的class的元素标签选择器$("div")获取同一类标签的所有元素全选选择器$("*")匹配所有元素并集选择器$("div,p,li")选取多个元素交集选择器$("li.current")交集元素jQuery层级选择器名称用法描述子代选择器$("ul>li");使用>查找下一级标签,不会获取孙子层元素后代选择器$("ulli");使用空格,代表获取ul下的所有li元素,包括孙子等jQuery筛选选择器语法用法描述:first$("li:first")选择第一个li标签:last$("li:last")选择最后一个li标签:eq(index)$("li:eq(0)")选择索引为0的li标签:odd$("li:odd")选择索引为奇数的li标签:even$("div,p,li")选择索引为偶数的li标签jQuery筛选方法selector代表选择器的意思语法用法描述parent()$("li").parent()查找父级元素children(selector)$("ul").children("li")相当于$("ul>li"),最近的一级find()$("ul").find("li")相当于后代选择器$("ulli")siblings(selector)$(".first").siblings("li")查找同级的li标签nextAll([expr])$("div").nextAll()查找当前元素之后的所有同级元素prevAll([expr])$("div").prevtAll([expr])查找当前元素之前的所有同级元素hasClass(class)$("divi").hasClass('pro')检查某个标签是否包含某个特定的class,有返回trueeq(index)$("div").eq(0)相当于$("div:eq(0)")标签过滤器小例子//查找div下的第一个li,设置为pink色$("divli:first").css("color","pink");//查找同级的所有标签$("span").siblings()//查找同级的所有标签$("span").siblings()