【问题标题】:XPath address not detailed enoughXPath 地址不够详细
【发布时间】:2019-03-12 23:02:56
【问题描述】:

我正在做一个简单的项目(更多的是 Web 开发练习),我很早就遇到了一个问题。就上下文而言,我试图从亚马逊提取几个不同类别的前 30 名最畅销产品的名称。我使用的是谷歌表格的公式=importXML(),而不是传统的网络抓取工具。此公式接受网站和 XPath 位置。

这是一个示例网页:https://www.amazon.com/Best-Sellers-Beauty/zgbs/beauty/ref=zg_bs_nav_0

我通过检查器,发现它是一个大的有序项目列表,经过更多挖掘我以为我找到了产品的标题并右键单击>复制>复制 XPath。

这是复制的 XPath://*[@id="zg-ordered-list"]/li[1]/span/div/span/a/div

我将它输入到谷歌工作表中,它返回了#N/A,这并不奇怪,因为当我进入 Chome 控制台并输入:$x('//*[@id="zg-ordered-list"]/li[1]/span/div/span/a/div') 我得到了一个相当大的对象。

如果有人能帮助我并指出正确的 XPath 位置,我将不胜感激。

【问题讨论】:

    标签: html xpath web-scraping google-sheets


    【解决方案1】:

    您必须使用string 来获取文本。

    'string(xpath)'
    

    chrome 控制台:

    $x('string(//*[@id="zg-ordered-list"]/li[1]/span/div/span/a/div)')
    

    输出:

    Philips Sonicare Diamond Clean Classic Rechargeable 5 brushing modes, Electric…
    

    【讨论】:

    • 这仍然在谷歌表格中产生#N/a。知道为什么吗?
    猜你喜欢
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多