Xpath()怎么写路径


<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

img

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/991872
  • 这篇博客也不错, 你可以看下xpath的简单应用,常见li标签分组
  • 除此之外, 这篇博客: 使用 XPath 选择器选取包含特定类名的元素中的 使用 XPath 选择器选取包含特定类名的元素 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

  • 以下回答由chatgpt基于相关博客总结生成:

    针对问题描述,如果要提取特定标签的内容,可以使用以下步骤:

    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() 表达式改成对应的路径即可。