Xpath选择器
nodeName 选取此节点的所有节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,不考虑它们的位置
. 选择当前节点
.. 选取当前节点的父节点
@ 选取属性
* 匹配任何元素节点
@* 匹配任何属性节点
Node() 匹配任何类型的节点
例
response.xpath('//a[@href="link4.html"]/..*/@class')#获取herf为link4.html的a标签的父标签的class值
response.xpath('//a[@href="link4.html"]/..*/text()')#获取herf为link4.html的a标签的父标签中的文本
参考:http://www.scrapyd.cn/doc/186.html
CSS选择器
.class .color 选择class=”color”的所有元素
#id #info 选择id=”info”的所有元素
* * 选择所有元素
element p 选择所有的p元素
element,element div,p 选择所有div元素和所有p元素
element element div p 选择div标签内部的所有p元素
[attribute] [target] 选择带有targe属性的所有元素
[arrtibute=value] [target=_blank] 选择target=”_blank”的所有元素
例
response.css('ul.td-category a::attr(href)')#获取class为td-category的ul标签下的a标签的href属性
response.css('ul.td-category a::text')#获取class为td-category的ul标签下的a标签的的文本
参考:http://www.scrapyd.cn/doc/185.html
爬坑
- 忽略子标签,提取标签下的所有文本信息
HTML结构
<p id="test3">ssssssssssss
<strong>dddddd</strong>
ssssssssssssssssssssss
<strong>ccccc</strong>
</p>
提取方法:结果返回一个四个元素的list
content_list= response.css("p").xpath('string(.)').extract()