我正在尝试使用excel中的importXML函数从网页中解析数据,但是数据没有类 示例公式:结果:参考:模式1:模式2:

问题描述

我想以我是各种编码的完全新手开头。我通常会花费10倍多的时间使用Google来尝试自动化某件事,这比我需要手动完成。我在网上找到了一个Google表格,该表格可以从特定网页中查找MTG交易卡的价格。

这是我在Google工作表中使用的工作功能
=Index(IMPORTXML('Price Links Sale'!A13,"//span[@class='price price--withoutTax']"),1)

“价格链接销售”位于其中,其中包含我要查找的每张卡的所有URL。
例: https://www.facetofacegames.com/assassins-trophy-guilds-of-ravnica/ 这拉高了无锡薄荷卡附近的价格。完善。效果很好。

我想在我的Google工作表上添加另一列来检查库数量

我尝试过的是

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

我意识到在这种情况下,span没有类。我尝试了此方法以及其他一些方法,但均未成功。其中之一是
=Index(IMPORTXML('Price Links Sale'!A13,"//span[not@class='data-product-stock']"),1)

我不知道我在做什么,我只是给它上大学的尝试。这是不可思议的简单吗?

每个网页上使用单选按钮检查箔纸,无箔纸,接近薄荷状态和播放状态的价格。如果我告诉我要寻找锡纸价格的功能,是否可以使用excel函数来使用单选按钮来获取这些价格?

解决方法

我相信您的目标如下。

  • 您要使用IMPORTXML从0中检索值<span data-product-stock>0</span>
  • 您要使用的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”中。

结果:

enter image description here

参考:

已添加:

模式1:

例如,当您要从0<span data-product-stock>0</span>检索<div class="card-stock"><span>0</span> In Stock</div>的值时,还可以使用//div[contains(@class,'stock')]/span[1]的xpath。

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

enter image description here

  • 在这种情况下,将检索10个项目。

模式2:

例如,当您要检索18中的18 in stock时,以下示例公式如何?

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

enter image description here