Python xpath属性
时间: 2023-11-05 14:50:33 浏览: 157
python神奇xpath
4星 · 用户满意度95%
在使用Python的XPath解析库(例如lxml)时,可以通过以下方式选择元素的属性:
- 选取特定属性的元素:`//tag[@attribute]`
- 选取特定属性值的元素:`//tag[@attribute='value']`
- 选取包含某个属性的元素:`//tag[@*]`
其中,`tag`为标签名,`attribute`为属性名,`value`为属性值。例如,要选取所有`<a>`标签中`href`属性为`"https://www.example.com"`的元素,可以使用如下XPath表达式:
```xpath
//a[@href="https://www.example.com"]
```
在Python中使用lxml库进行XPath解析时,可以通过`Element.xpath()`方法来选取元素。例如,选取上述XPath表达式所匹配的所有元素可以使用以下代码:
```python
from lxml import etree
html = """
<html>
<body>
<a href="https://www.example.com">Example</a>
<a href="https://www.google.com">Google</a>
<a href="https://www.example.com">Another Example</a>
</body>
</html>
"""
root = etree.HTML(html)
elements = root.xpath('//a[@href="https://www.example.com"]')
print(elements) # 输出两个<a>元素
```
输出结果为:
```
[<Element a at 0x7f9e8f426f48>, <Element a at 0x7f9e8f426f98>]
```
其中,`Element`对象代表一个XML元素,可以通过其`text`和`attrib`属性分别获取元素的文本和属性。
阅读全文