爬虫学习之3:初试scrapy之xpath

最近写爬虫,简单了解了一下Xpath,用个小实例作为练习。

先上Xpath路劲语法

编写一个XML作为提取文档:


Tony starkIron manmale196947

Peter Benjamin ParkerSpider Manmaleunknownunknown

Steven RogersCaptain Americamale1920070496

写个比较简陋的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']
#######################




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部