【问题标题】:Returning value of an item price in google sheets谷歌表格中商品价格的返回值
【发布时间】:2022-12-13 06:17:21
【问题描述】:

我正在尝试将简单的更新价格添加到谷歌表格中。 我需要市场价格

//*[@id="app"]/div/section[2]/section/div[1]/section[3]/div/section[1]/ul/li[1]/span[2]

https://www.tcgplayer.com/product/242811/pokemon-celebrations-celebrations-elite-trainer-box?Language=English

我需要它只显示从 XPath 到单元格的一个数字,但我似乎无法弄清楚我哪里出错了。我一直在使用 IMPORTXML 函数,但它不会返回值。

=IMPORTXML(A2,"//*[@id='app']/div/section[2]/section/div[1]/section[3]/div/section[1]/ul/li[1]/span[2]")

其中 A2 是 URL。

【问题讨论】:

    标签: google-sheets web-scraping xpath google-sheets-formula


    【解决方案1】:

    在您的情况下,the market price 的值似乎不能直接从https://www.tcgplayer.com/product/242811/pokemon-celebrations-celebrations-elite-trainer-box?Language=English 的 URL 中检索。但是,幸运的是,似乎可以直接从 API 端点检索该值。那么,下面的示例公式怎么样?

    样品配方:

    =REGEXEXTRACT(JOIN(",",IMPORTDATA(A1)),"marketPrice:(.+?),")*1
    

    或者

    =REGEXEXTRACT(QUERY(TRANSPOSE(IMPORTDATA(A1)),"WHERE Col1 matches 'marketPrice.+'"),"marketPrice:(.+)")*1
    
    • 单元格“A1”的 URL 为 https://mpapi.tcgplayer.com/v2/product/242811/details

    • https://www.tcgplayer.com/product/242811/pokemon-celebrations-celebrations-elite-trainer-box?Language=English 的情况下,请使用 242811 从 URL 到 API 的端点,如 https://mpapi.tcgplayer.com/v2/product/242811/details

    结果:

    笔记:

    • 来自 URL 的值是 JSON 数据。在这种情况下,还可以使用以下自定义函数。在这种情况下,请将以下脚本复制并粘贴到 Spreadsheet 的脚本编辑器中并保存脚本。并请将自定义函数 =SAMPLE("url") 放入单元格。

        const SAMPLE = url => JSON.parse(UrlFetchApp.fetch(url).getContentText()).marketPrice;
      

    参考:

    【讨论】:

      【解决方案2】:

      不可能将 JS 内容抓取到谷歌表格中:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-07
        • 2016-04-25
        • 1970-01-01
        相关资源
        最近更新 更多