我正在尝试使用 excel 中的 importXML 函数解析来自网页的数据,但数据没有 class

I'm trying to parse data from a webpage using the importXML function in excel, but the data doesn't have a class

首先我想说我是各种编码的新手。我通常花 10 倍的时间使用 google 来尝试自动化一些事情,而不是手动完成。我在网上发现 Google Sheet 从特定网页查找 MTG 交易卡的价格。

这是我在 google sheet.
中使用的工作函数 =Index(IMPORTXML('Price Links Sale'!A13, "//span[@class='price price--withoutTax']"),1)

其中 'Price Links Sale' 是包含我正在查找的每张卡片的所有 URL 的 sheet。
例子: https://www.facetofacegames.com/assassins-trophy-guilds-of-ravnica/ 这拉低了非箔近乎完好卡片的价格。完美的。效果很好。

我想在我的 google sheet 中添加另一列来检查库存数量。

我试过的是

=Index(IMPORTXML('Price Links Sale'!A13, "//span[@class='data-product-stock']"),1)

我意识到这种情况下的跨度没有 class。我尝试了这个以及其他一些没有成功的事情。其中之一是
=Index(IMPORTXML('Price Links Sale'!A13, "//span[not@class='data-product-stock']"),1)

我不知道我在做什么,我只是在大学里尝试一下。这是不是很简单?

每个网页都使用单选按钮检查贴膜、未贴膜、接近完好状态和播放状态的价格。如果我告诉函数我正在寻找箔纸价格,是否可以使用 excel 函数来使用单选按钮来获取这些价格?

我相信你的目标如下。

  • 您想使用 IMPORTXML 从 <span data-product-stock>0</span> 中检索值 0
  • 您要使用的URL是https://www.facetofacegames.com/assassins-trophy-guilds-of-ravnica/

在这种情况下,我认为 data-product-stock 是没有值的属性。那么//span[@data-product-stock]的xpath呢?公式如下

示例公式:

=IMPORTXML(A1,"//span[@data-product-stock]")
  • URL 被放入单元格“A1”。

结果:

参考:

已添加:

模式 1:

例如,当你想从<span data-product-stock>0</span><div class="card-stock"><span>0</span> In Stock</div>中获取0的值时,你也可以使用//div[contains(@class,'stock')]/span[1].[=28的xpath =] 样品配方:

=IMPORTXML(A1,"//div[contains(@class,'stock')]/span[1]")
结果:

  • 在本例中,检索到 10 个项目。

模式二:

例如,当你想检索18 in stock18时,下面的示例公式如何?

样品配方:
=JOIN("",IFERROR(ARRAYFORMULA(REGEXEXTRACT(IMPORTXML(A1,"//script"),"stock"":(\d+),")),""))
  • 在这种情况下,似乎不能直接检索值。因此,在此示例公式中,值是从 Javascript.
  • 中检索的
结果: