如何通过xpath查找id的方法取出标签'a'中的数据
时间: 2023-06-14 11:03:45 浏览: 61
假设我们要查找id为"menu"的div标签下所有a标签中的文本内容,可以使用以下xpath表达式:
```python
//div[@id='menu']//a/text()
```
其中:
- `//div[@id='menu']` 表示查找id为"menu"的div标签;
- `//a` 表示查找div标签下的所有a标签;
- `/text()` 表示获取a标签中的文本内容。
如果要获取a标签中的href属性值,可以使用以下xpath表达式:
```python
//div[@id='menu']//a/@href
```
其中:
- `//div[@id='menu']` 表示查找id为"menu"的div标签;
- `//a` 表示查找div标签下的所有a标签;
- `/@href` 表示获取a标签中的href属性值。
相关问题
如何通过xpath方法取出标签'a'中的数据
假设我们要取出以下HTML代码中所有a标签中的数据:
```html
<html>
<body>
<div>
<a href="https://www.example.com">Example Website</a>
<a href="https://www.google.com">Google</a>
<a href="https://www.baidu.com">Baidu</a>
</div>
</body>
</html>
```
我们可以使用以下XPath表达式来选取所有a标签中的数据:
```python
//a/text()
```
其中,`//`表示匹配所有子孙节点,`a`表示匹配所有a标签,`text()`表示选取a标签中的文本内容。
使用Python的lxml库可以实现XPath的解析,代码如下:
```python
from lxml import etree
html = '''
<html>
<body>
<div>
<a href="https://www.example.com">Example Website</a>
<a href="https://www.google.com">Google</a>
<a href="https://www.baidu.com">Baidu</a>
</div>
</body>
</html>
'''
selector = etree.HTML(html)
result = selector.xpath('//a/text()')
print(result)
```
输出结果为:
```
['Example Website', 'Google', 'Baidu']
```
xpath 取出标签中的数据
可以使用XPath中的text()函数来获取标签中的文本数据。
例如,如果要获取一个HTML页面中所有的p标签中的文本,可以使用以下XPath表达式:
```
//p/text()
```
如果要获取某个特定的p标签中的文本,可以加上对应的索引,例如:
```
//p[2]/text()
```
这将获取第二个p标签中的文本。