用xpath获取<d1> id="list_d1"<dd><a hredf="https://www.8800text.com/435021/23046123.html"></dd>中的href
时间: 2024-03-18 18:32:06 浏览: 105
假设你要获取的 HTML 代码如下:
```html
<div id="list_d1">
<dd>
<a href="https://www.8800text.com/435021/23046123.html">Link Text</a>
</dd>
</div>
```
可以使用以下的 Python 代码来获取链接的地址:
```python
from lxml import html
# 将上面的 HTML 代码保存到字符串变量 content 中
content = '''
<div id="list_d1">
<dd>
<a href="https://www.8800text.com/435021/23046123.html">Link Text</a>
</dd>
</div>
'''
# 将 HTML 代码解析为 Element 对象
root = html.fromstring(content)
# 使用 XPath 获取链接的地址
href = root.xpath('//div[@id="list_d1"]/dd/a/@href')[0]
print(href)
```
这段代码的输出结果是:
```
https://www.8800text.com/435021/23046123.html
```
解释一下代码:
首先,我们导入了 `lxml` 库中的 `html` 模块。然后,我们将待处理的 HTML 代码保存到字符串变量 `content` 中。
接着,我们使用 `html.fromstring()` 函数将 `content` 解析为一个 `Element` 对象,并保存到变量 `root` 中。
最后,我们使用 XPath 表达式 `//div[@id="list_d1"]/dd/a/@href` 来获取链接的地址。这个 XPath 表达式的意思是:在 `id` 属性为 `list_d1` 的 `div` 元素下,找到第一个 `dd` 元素,再找到其中的第一个 `a` 元素,并返回它的 `href` 属性值。注意,这里用到了 XPath 的路径表达式和属性选择器。
最后,我们打印出获取的链接地址。注意,这里返回的是一个列表,所以我们需要使用 `[0]` 来获取列表中的第一个元素。
阅读全文