我正在尝试使用 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 stock
的18
时,下面的示例公式如何?
样品配方:
=JOIN("",IFERROR(ARRAYFORMULA(REGEXEXTRACT(IMPORTXML(A1,"//script"),"stock"":(\d+),")),""))
- 在这种情况下,似乎不能直接检索值。因此,在此示例公式中,值是从 Javascript.
中检索的
结果:
首先我想说我是各种编码的新手。我通常花 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 stock
的18
时,下面的示例公式如何?
=JOIN("",IFERROR(ARRAYFORMULA(REGEXEXTRACT(IMPORTXML(A1,"//script"),"stock"":(\d+),")),""))
- 在这种情况下,似乎不能直接检索值。因此,在此示例公式中,值是从 Javascript. 中检索的