XPath是XML路径语言,它是一种用来确定XML文档中某部分位置的语言。
在python爬虫方面的学习中,xpath至关重要,它与正则相比具有明显的优势。下面将介绍在python中xpath的简单使用。
安装方法不必多说,与其他第三方库的安装方法一样,使用pip安装。
使用方式
首先需要导入库
import lxml.html
接下来就是使用了,话不多说,上代码
# 使用方式介绍
#---------------------------------
#/ 从根标签开始
#// 从当前标签
#* 通配符,选择所有
#//div/book[1]/title 选择div下第一个book标签的title元素
#//div/book/title[@lang='zh'] 选择title属性含有lang且内容为zh的title元素
#//div/book/title[@*] 将含有属性的title标签选出来
#//div/book/title/@* 将title标签中的属性值选出来
#//div/book/title/text() 选出title标签中的内容,使用内置函数text()
#//div/book/title //book/title //title具有相同的结果
#//a[@href='link1.html' and @id='places_neighbours__row'] 把两个条件都满足的a标签选出来
#//a[@href='link1.html' or @id='places_neighbours__row'] 把满足任意一个条件的a标签选出来
#//a[not(@href)] 将不存在href元素的a标签选出来
#//a[@href!='link1.html'] 将存在href元素 但不等于link1.html的a标签选出来
#//li[starts-with(@class,'item')] 将class属性前缀是item的li标签选出来
#//li[contains(@class,'ct')] 将class属性中含有ct关键字的li标签选出来
#//div/book[last()]/title/text() 将最后一个book元素中title内容选出来
#//div/book[last()-1]/title/text() 将倒数第二个book元素中title内容选出来
#//div/book[price > 39]/title/text() 将book中price标签中的内容大于39的选出来
#