本文主要是介绍python爬虫笔记(2-1)Xpath解析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Xpath是在XML文档中搜索内容的一门语言,可以通过属性或节点路径来查找内容
HTML是XML的一个子集
1、安装:
pip install lxml
2、导入:
etree中包含了xpath功能,要导入etree
from lxml import etree
3、语法:
/: 表示层级关系,第一个/表示根节点
./: 表示相对路径
//: 搜索后代,如"/div/content/name//nick/text()" # 取name中所有nick中的文本
*: 通配符:如"/div/content/*/nick/text()" # 取content中所有nick中的文本(nick的父节点可以是name也可以是其它的)
text():提取文本
4、例子:
from lxml import etree
tree = etree.HTML("a.html")
# 拿到a标签的内容
result = tree.xpath("/html/body/ul/li/a/text()")
# 拿到第1个li中a标签的内容
result = tree.xpath("/html/body/ul/li[1]/a/text()")
# 拿到第a标签中属性href的值为dapao的内容,[@xxx=xxx]是属性的筛选
result = tree.xpath("/html/body/ul/li/a[@href = 'dapao']/text()")
# 拿到第a标签中属性href的值,@属性:拿到属性值
result = tree.xpath("/html/body/ul/li/a/@href")
# 相对路径查找 ./
li_list = tree.xpath("/html/body/ul/li")
for li in li_list:
result = li.xpath("./a/text()") # ./表示相对查找,在li中继续查找
这篇关于python爬虫笔记(2-1)Xpath解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!