Google 表格中的 IMPORTXML 返回的数据不正确

Incorrect data being returned from IMPORTXML in Google Sheets

编辑: 看来我的问题是 Google 在我需要澳大利亚数据时从美国查询。我现在正在寻找一种使用 IMPORTXML 以网站识别为来自澳大利亚的方式来抓取网站的方法。


我正在使用 Google Sheets IMPORTXML 功能来抓取收藏品网站以获取其顶级 Digimon 卡片的价格数据。我在页面上可以清楚地看到第一张卡的价值是 $129.99 AUD,但是当我查询页面时,我得到了不同的价值。 这是我正在使用的导入函数:

IMPORTXML("https://www.cherrycollectables.com.au/collections/digimon-singles","(//div[@class='productitem--info'])")

目前,第一张卡片在我的电子表格中显示价值 99 美元,但在其他日子里,我看到 100 美元和 124 美元,网页上没有显示任何变化 - 它一直保持在 129.99 美元。

在Chrome的网络记录器中我可以看到URL是正确的;正在向此 URL 发出 GET 请求以生成页面。响应 XML 包含页面上显示的值,因此我认为 DOM 没有被编辑(这将解释不同的值)。

此外,更改为任何其他货币(我遇到过 Google 位于美国而我位于澳大利亚的问题)也不符合返回的值。

页面上 HTML 的图片

GET 响应中正确美元价值的图像

我的电子表格中显示的美元价值不正确的图像

感谢您的宝贵时间!

当我查看源代码时,我可以看到 HTML 中的价格硬编码为第一张卡的 99.00 美元。我还看到该代码包括根据在页面的货币下拉列表中选择的内容在屏幕上转换该金额的脚本。 Google张只能读HTML;它无法解释活动脚本。

值得注意的是,当我从货币下拉列表中选择 'AUD'(我位于美国)时,它显示硬编码价格 99.00 美元,后跟 'USD' 而不是 'AUD' .这也表明您在网站上看到的 是基于可能正在检测位置的脚本,并且在某些方面可能会混淆。

尝试:

=IMPORTXML("https://au.4everproxy.com/direct/aHR0cHM6Ly93d3cuY2hlcnJ5Y29sbGVjdGFibGVzLmNvbS5hdS9jb2xsZWN0aW9ucy9kaWdpbW9uLXNpbmdsZXM-",
 "(//div[@class='productitem--info'])")