爬虫学习之3:初试scrapy之xpath
最近写爬虫,简单了解了一下Xpath,用个小实例作为练习。
先上Xpath路劲语法
编写一个XML作为提取文档:
Tony stark Iron man male 1969 47
Peter Benjamin Parker Spider Man male unknown unknown
Steven Rogers Captain America male 19200704 96
写个比较简陋的xpath试试看:
# -*- coding: utf-8 -*-from scrapy.selector import Selector
with open('./superHero.xml','r') as fp:body = fp.read()content=Selector(text=body).xpath('./*').extract()print(content)print("#######################")#第一个class的内容content = Selector(text=body).xpath("//class[1]").extract()print(content)print("#######################")#最后一个class的内容content = Selector(text=body).xpath("//class[last()]").extract()print(content)print("#######################")#采集name属性为en的数据content = Selector(text=body).xpath("//name[@lang='en']").extract()print(content)print("#######################")#采集第二个class的name节点的文本content = Selector(text=body).xpath("//class[last()-1]/name/text()").extract()print(content)print("#######################")
输出为:
['\n\n\tTony stark \n\tIron man \n\tmale \n\t1969 \n\t47 \n \n\n\tPeter Benjamin Parker \n\tSpider Man \n\tmale \n\tunknown \n\tunknown \n \n\n\tSteven Rogers \n\tCaptain America \n\tmale \n\t19200704 \n\t96 \n \n ']
#######################
['\n\tTony stark \n\tIron man \n\tmale \n\t1969 \n\t47 \n ']
#######################
['\n\tSteven Rogers \n\tCaptain America \n\tmale \n\t19200704 \n\t96 \n ']
#######################
['Tony stark ', 'Peter Benjamin Parker ', 'Steven Rogers ']
#######################
['Peter Benjamin Parker']
#######################
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
