<div>
<div>
<span>价格</span>
</div>
<div>
<span>介绍</span>
</div>
</div>
<div>
<div>
<span>数量</span>
</div>
<div>
<span>价格</span>
</div>
<div>
<span>介绍</span>
</div>
</div>
我只想拿到'价格'这个里的内容用Xpath()怎么写路径?
获取所有 div 标签下的 span 标签://div/span
获取第一个 div 标签下的所有 span 标签://div[1]/span
获取第二个 div 标签下的数量标签://div[2]/div[1]/span
获取第二个 div 标签下的价格标签://div[2]/div[2]/span
获取第二个 div 标签下的介绍标签://div[2]/div[3]/span
可以将html运行一下,然后在Element中查看XPath;
/html/body/div[2]/div[2]/span
针对问题描述,如果要提取特定标签的内容,可以使用以下步骤:
1.首先找到要提取内容的标签所在的路径,可以用浏览器的开发者工具或者检查元素功能找到该标签所在的父元素及其父元素的 class 或 id;
2.编写 Xpath() 表达式,选取特定的标签,也就是标签内容所在的节点;
3.使用 Python 的 requests 库获取 HTML 页面的源码,并解析出其中对应的内容节点;
4.最后通过 Python 的 BeautifulSoup 库或者 lxml 库提取出内容即可。
以下是一个示例代码,假如要提取标签
中的内容:
import requests
from lxml import etree
# 请求页面并获取源码
url = 'http://example.com'
response = requests.get(url)
html = response.text
# 解析 HTML 并获取内容节点
selector = etree.HTML(html)
content_xpath = '//p/text()'
content = selector.xpath(content_xpath)
# 打印提取出的内容
print(content)
以上代码中,首先使用 requests 库获取了网页的源码,并把源码传给了 lxml 库进行解析,然后用 etree.HTML() 函数生成一个 Selector 对象,使用 Xpath() 和 [text()] 提取出了所有
标签中的文本内容。
其中,content_xpath 是一个 Xpath() 表达式,表示提取所有
标签的文本。如果要提取其他标签的内容,只需要把 Xpath() 表达式改成对应的路径即可。