什么是Xpath
xpath 是在XML文档中搜索内容的一门语言,html是xml的一个子集
前置知识
<book>
<id>1</id>
<name>2</name>
<num>
<nick>3</nick>
<div>
<nick>4</nick>
</div>
<span>
<nick>5</nick>
</span>
</num>
<author id="6">7</author>
<book/>
其中<>中的内容称为节点,,是兄弟节点,是它们的父节点。xpath找内容时,靠节点关系进行查询,如/book/id
安装lxml模块
pip install lxml
Xpath用法
1.如上边内容,想要拿去id的内容,获得[1]
from lxml import etree
tree = etree.XML(xml)
result = tree.xpath("/book/id/text()") #text()拿文本
2.若想要找到内容[3, 4 ,5]用第一种方法就行不通了,若用第一种方式只能输出3,此时需要另一种方式
result = tree.xpath("/book/num//nick/text()") # //表示拿取所有后代
3.如果想要内容[3, 4, 5],也可以使用通配符的方式
result = tree.xpath("/book/num/*/nick/text()") # *表示任意节点
4.这里有个b.tml,代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
</head>
<body>
<ul>
<li><a href="http://www.baidu.com">百度</a></li>
<li><a href="http://www.google.com">谷歌</a></li>
<li><a href="http://www.sogou.com">搜狗</a></li>
</ul>
<ol>
<li><a href="feiji">飞机</a></li>
<li><a href="dapao">大炮</a></li>
<li>