xpath 获取成对的div 片段
时间: 2023-05-26 09:02:12 浏览: 101
假设HTML文档中有以下代码:
```
<div class="content">
<div class="post">
<h2>Title 1</h2>
<p>Content 1</p>
</div>
<div class="post">
<h2>Title 2</h2>
<p>Content 2</p>
</div>
</div>
```
要获取所有成对的`div.post`节点片段,可以使用XPath表达式`//div[@class='content']/div[@class='post']`,其中:
- `//` 代表从根节点开始的任意位置
- `div[@class='content']` 代表选择`class`属性等于`content`的`div`节点
- `/div[@class='post']` 代表选择`class`属性等于`post`的子节点`div`节点
以下是Python代码示例,使用lxml库解析HTML文档并获取节点片段:
```
from lxml import html
# 解析HTML文档
doc = html.fromstring(html_text)
# 获取成对的div片段
divs = doc.xpath("//div[@class='content']/div[@class='post']")
# 遍历所有div片段并打印
for div in divs:
print(html.tostring(div, pretty_print=True))
```
运行结果:
```
b'<div class="post">\n <h2>Title 1</h2>\n <p>Content 1</p>\n </div>\n'
b'<div class="post">\n <h2>Title 2</h2>\n <p>Content 2</p>\n </div>\n'
```
阅读全文