xpath的用法(实例详解)

1、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元素

/div/*                 选取属于div元素的所有子节点
//*                    选取所有元素
//div[@*]              选取所有带属性的title元素
/div/a | //div/p       选取所有div元素的a和p元素
//span | //ul          选取文档中的span和ul元素
article/div/p| //span  选取所有属于article元素的div元素的p元素 以及文档中所有的span元素

2、在scrapy框架里利用 xpath爬取此文章(http://blog.jobbole.com/114273/)的标题 及 创建时间

# -*- coding: utf-8 -*-
import scrapy

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

    def parse(self, response):
        title = response.xpath('//*[@id="post-114273"]/div[1]/h1/text()').extract()[0]
        create_time = response.xpath('//*[@id="post-114273"]/div[2]/p/text()').extract()[0].strip().replace("·", "").strip()
        pass # 拿到title 和 create_time之后,做你想做的处理

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值