#coding=utf-8
# 选择class=“info”的元素 . info
# 选择id = "firstname" 的元素 #firstname
# 选择所有元素 *
# 选择所有<p>元素 p
# 选择所有div元素和p元素 div,p
# 选择div元素内的所有p元素 div p
# 选择带有target属性的所有元素 [target]
# 选择target=“_blank”的所有元素 [target="_blank"]
from scrapy.selector import Selector
with open('.superHero.xml','r') as fp:
body = fp.read()
print '选取所有class的内容:'
print Selector(text=body).css('class').extract()
print '选取class下的name元素组:'
print Selector(text=body).css('class name').extract()
print '选择所有name 和 sex 元素组: '
print Selector(text=body).css('name,sex').extract()
print '选择带有lang 属性的所有元素:'
print Selector(text=body).css('[lang]').extract()
print '选择所有lang为en的所有元素:'
print Selector(text=body).css('[lang=en]').extract()
运行结果
选取所有class的内容: [u' Tony Stark Iron Man male 1969 47 ', u' Peter BenJamin Parker Spider Man male unknow unknow ', u' Steven Rogers Caption America male 19200704 96 '] 选取class下的name元素组: [u'Tony Stark ', u'Peter BenJamin Parker ', u'Steven Rogers '] 选择所有name 和 sex 元素组: [u'Tony Stark ', u'male ', u'Peter BenJamin Parker ', u'male ', u'Steven Rogers ', u'male '] 选择带有lang 属性的所有元素: [u'Tony Stark ', u'Peter BenJamin Parker ', u'Steven Rogers '] 选择所有lang为en的所有元素: [u'Tony Stark ', u'Peter BenJamin Parker ']
superHero.xml
<html>
<body>
<superhero>
<class>
<name lang="en">Tony Stark </name>
<alias>Iron Man </alias>
<sex>male </sex>
<birthday>1969 </birthday>
<age>47 </age>
</class>
<class>
<name lang="en">Peter BenJamin Parker </name>
<alias>Spider Man </alias>
<sex>male </sex>
<birthday>unknow </birthday>
<age>unknow </age>
</class>
<class>
<name lang="ch">Steven Rogers </name>
<alias>Caption America </alias>
<sex>male </sex>
<birthday>19200704 </birthday>
<age>96 </age>
</class>
</superhero>
</body>
</html>