python xpath
时间: 2023-10-12 20:20:21 浏览: 80
XPath 是一种在 XML 文档中进行导航和查询的语言,也可以用于 HTML 文档。在 Python 中,我们可以使用 lxml 库来实现 XPath 的功能。
以下是一个使用 lxml 库的 XPath 示例:
```python
from lxml import html
# 构造 HTML 文档
html_doc = """
<html>
<head>
<title>网页标题</title>
</head>
<body>
<div id="content">
<h1>欢迎来到我的网站</h1>
<p>这是第一段内容</p>
<p>这是第二段内容</p>
<ul>
<li>列表项 1</li>
<li>列表项 2</li>
<li>列表项 3</li>
</ul>
</div>
</body>
</html>
"""
# 解析 HTML 文档
tree = html.fromstring(html_doc)
# 使用 XPath 查询
title = tree.xpath('//title/text()')[0]
h1 = tree.xpath('//div[@id="content"]/h1/text()')[0]
p_list = tree.xpath('//div[@id="content"]/p/text()')
li_list = tree.xpath('//div[@id="content"]/ul/li/text()')
print("标题:", title)
print("H1:", h1)
print("段落:", p_list)
print("列表:", li_list)
```
输出结果:
```
标题: 网页标题
H1: 欢迎来到我的网站
段落: ['这是第一段内容', '这是第二段内容']
列表: ['列表项 1', '列表项 2', '列表项 3']
```
在上面的代码中,我们首先构造了一个 HTML 文档,然后使用 lxml 库的 `html.fromstring()` 方法将其解析为一个树形结构。接着,我们使用 XPath 查询语句来获取 HTML 文档中的数据,例如标题、H1 标题、段落和列表。最后,我们将查询结果输出到控制台上。
阅读全文