用xpath following-sibling 写串Python代码
时间: 2024-05-15 19:12:13 浏览: 130
关于python中的xpath解析定位
假设我们有以下HTML代码:
```html
<div class="container">
<h2>标题1</h2>
<p>内容1</p>
<h2>标题2</h2>
<p>内容2</p>
<h2>标题3</h2>
<p>内容3</p>
</div>
```
我们想要提取所有标题后面的内容,可以使用以下Python代码:
```python
from lxml import html
# 解析HTML
tree = html.fromstring(html_text)
# 获取所有标题
titles = tree.xpath('//h2')
# 循环遍历标题,获取后面的内容
for title in titles:
# 使用following-sibling获取下一个同级元素
content = title.xpath('following-sibling::p[1]/text()')[0]
print(content)
```
输出结果:
```
内容1
内容2
内容3
```
在这个例子中,我们首先使用lxml库的html模块解析HTML代码。然后,我们使用XPath表达式`//h2`获取所有标题。接下来,我们循环遍历每个标题,并使用XPath表达式`following-sibling::p[1]/text()`获取下一个同级元素`<p>`的文本内容。注意,我们使用了`[1]`来获取第一个匹配的元素,因为`following-sibling::p`可能会找到多个元素。最后,我们打印出每个标题后面的内容。
阅读全文