Python xpath学习

1、xpath使用路径表达式在xml和html中进行导航

2、xpath包含标准函数库

3、xpath是一个w3c的标准


xpath节点关系

1、父节点

2、子节点

3、同袍节点

4、先辈节点

5、后代节点


xpath语法

article                    选取所有article元素的所有子节点

/article                    选取根元素article

article/a                选取所有属于article的子元素的a元素

//div                    选取所有div子元素(不论出现文档任何地方)

article//div             选取所有属于article元素的后代的div元素,不管它出现在article之下的任何位置

//@class                选取所有名为class的属性

例子:

/article/div[1]            选取属于article子元素的第一个div元素

/article/div[last()]        选取属于article子元素的最后一个div元素

/article/div[last()-1]     选取属于article子元素的倒数第二个div元素

//div[@lang]                选取所有拥有lang属性的div元素

//div[@lang='eng']     选取所有lang属性为eng的div元素


xpath语法

/div/*                    选取属于div元素的所有子节点

//*                        选取所有子元素

//div[@*]             选取所有带属性的title元素

//div/a|//div/p        选取所有div元素的a和b元素

//span|//ul            选取文档中的span和ul元素

article/div/p|//span    选取所有属于article元素的div元素的p元素,以及文档中所有的span元素


例子:

class JobboleSpider(scrapy.Spider):
    name = 'jobbole'
    allowed_domains = ['blog.jobbole.com']
    start_urls = ['http://blog.jobbole.com/110287/']


    def parse(self, response):
        re_sector = response.xpath('/html/body/div[3]/div[3]/div[1]/div[1]/h1')  #空
       # re_sector = response.xpath('//*[@id="post-110287"]/div[1]/h1/text()')    #有数据
       # re_sector = response.xpath('//div[@class="entry-header"]/h1/text()')    #有数据
        pass


进入article_spider虚拟环境,进入ArticleSpider文件夹

命令:scrapy shell http://blog.jobbole.com/110287/

对该网站进行调试









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值