xpath 提取href
时间: 2023-08-26 08:17:35 浏览: 202
### 回答1:
要提取 HTML 中的 href 属性,可以使用 XPath 表达式 `//@href`。这个表达式会选中文档中所有的 href 属性并返回它们的值。例如,在 Python 中使用 lxml 库可以这么写:
```
from lxml import html
# 假设 html_doc 是包含 <a href="..."> 的 HTML 代码
tree = html.fromstring(html_doc)
hrefs = tree.xpath('//@href')
```
这个代码片段会将所有 href 属性的值存放在 `hrefs` 变量中。
### 回答2:
XPath是一种用于定位和提取XML文档中数据的语言。对于提取HTML页面中的href属性,可以使用XPath表达式来完成。
要提取HTML页面中的href属性,首先需要使用XPath表达式选择需要提取的元素。在HTML中,链接元素通常使用`<a>`标签表示,其中的href属性存储了链接的URL。
假设我们要提取页面中所有链接的href属性,可以使用以下XPath表达式:
```xpath
//a/@href
```
其中,`//a`表示选择所有的`<a>`标签元素,`/@href`表示选取`<a>`标签元素的href属性。
然后,我们可以编写代码来使用XPath来提取href属性。以下是使用Python中的lxml库的示例代码:
```python
import requests
from lxml import etree
# 发送HTTP请求,获取HTML页面源代码
response = requests.get('http://example.com')
html = response.content
# 解析HTML
tree = etree.HTML(html)
# 使用XPath表达式提取href属性
hrefs = tree.xpath('//a/@href')
# 打印提取出的href属性
for href in hrefs:
print(href)
```
以上代码首先发送HTTP请求获取HTML页面的源代码,然后使用lxml库将源代码解析为可操作的XML树状结构。接下来,使用XPath表达式`//a/@href`来提取所有的href属性,并将提取到的属性打印出来。
总结:通过使用XPath表达式`//a/@href`来选择和提取HTML页面中的href属性,并结合相应的编程语言和库来实现具体的提取操作。
阅读全文