Google 表格 - 在特定页面上导入 XML 时遇到问题
Google Sheets - Trouble importing XML on particular page
正在尝试使用 Google 表格中的 ImportXML 来检索特定的文本片段,但在搜索答案后遇到了问题。
希望这里有人可以帮助解决问题。
页面是:https://www.afi.com.au
我要导入的文本位于粉红色框中:
这里是我处理代码的地方,我试图检索 XPath,但它不喜欢我所拥有的,我相信这里有人会立即发现问题...
=IMPORTXML("http://www.afi.com.au","//body[@class='entry-homepage type-homepage']/div[@class='page page-home']/div[@class='page__item']/div[@class='js-evo7-component']/div[@class='hero']/div[@class='hero__inner-root rellax']/div[@class='hero__inner']/div[@class='container']/div[@class='grid']/div[@class='grid__item one-third palm-one-whole']/div[@class='hero__share-price']/div[@class='price-number']//text()")
那是不可能的。您尝试抓取的信息由 JavaScript 控制,并且 Google Sheets 根本无法读取 JS。您可以通过在给定网站上禁用 JS 来简单地测试它:
这个解决方法怎么样?在此解决方法中,使用 xpath 检索数据,并使用正则表达式检索值。似乎在检索页面时更新了检索到的数据。所以我用了这个方法。修改后的公式如下。请将此视为几个答案之一。
示例公式:
在此示例公式中,http://www.afi.com.au
被放入单元格 "A1"。
=REGEXEXTRACT(IMPORTXML(A1,"//div[@class='js-evo7-component']/@data-config"),"netAssetBacking"":{""price"":""([\d.]+)")
- 使用
//div[@class='js-evo7-component']/@data-config
和 IMPORTXML()
的 xpath 检索数据。
- 使用
netAssetBacking"":{""price"":""([\d.]+)
和 REGEXEXTRACT()
的正则表达式检索值。
结果:
参考文献:
正在尝试使用 Google 表格中的 ImportXML 来检索特定的文本片段,但在搜索答案后遇到了问题。
希望这里有人可以帮助解决问题。
页面是:https://www.afi.com.au 我要导入的文本位于粉红色框中:
这里是我处理代码的地方,我试图检索 XPath,但它不喜欢我所拥有的,我相信这里有人会立即发现问题...
=IMPORTXML("http://www.afi.com.au","//body[@class='entry-homepage type-homepage']/div[@class='page page-home']/div[@class='page__item']/div[@class='js-evo7-component']/div[@class='hero']/div[@class='hero__inner-root rellax']/div[@class='hero__inner']/div[@class='container']/div[@class='grid']/div[@class='grid__item one-third palm-one-whole']/div[@class='hero__share-price']/div[@class='price-number']//text()")
那是不可能的。您尝试抓取的信息由 JavaScript 控制,并且 Google Sheets 根本无法读取 JS。您可以通过在给定网站上禁用 JS 来简单地测试它:
这个解决方法怎么样?在此解决方法中,使用 xpath 检索数据,并使用正则表达式检索值。似乎在检索页面时更新了检索到的数据。所以我用了这个方法。修改后的公式如下。请将此视为几个答案之一。
示例公式:
在此示例公式中,http://www.afi.com.au
被放入单元格 "A1"。
=REGEXEXTRACT(IMPORTXML(A1,"//div[@class='js-evo7-component']/@data-config"),"netAssetBacking"":{""price"":""([\d.]+)")
- 使用
//div[@class='js-evo7-component']/@data-config
和IMPORTXML()
的 xpath 检索数据。 - 使用
netAssetBacking"":{""price"":""([\d.]+)
和REGEXEXTRACT()
的正则表达式检索值。