Google表格-在特定页面上导入XML时遇到问题

时间:2019-05-25 03:28:44

标签: xpath web-scraping google-sheets google-sheets-formula google-sheets-importxml

试图在Google表格中使用ImportXML来检索特定文本,但是在搜索答案后却遇到了麻烦。

在这里希望有人帮助解决问题。

页面为:https://www.afi.com.au 我要导入的文本在粉红色框中:

enter image description here

在这里,我正在处理代码,我试图检索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()")

2 个答案:

答案 0 :(得分:1)

该解决方法如何?在这种解决方法中,使用xpath检索数据,并使用正则表达式检索值。似乎在检索页面时更新了检索到的数据。所以我用这种方法。修改后的公式如下。请认为这只是几个答案之一。

示例公式:

在此示例公式中,http://www.afi.com.au放在单元格“ A1”中。

=REGEXEXTRACT(IMPORTXML(A1,"//div[@class='js-evo7-component']/@data-config"),"netAssetBacking"":{""price"":""([\d.]+)")
  1. 使用//div[@class='js-evo7-component']/@data-configIMPORTXML()的xpath检索数据。
  2. 使用netAssetBacking"":{""price"":""([\d.]+)REGEXEXTRACT()的正则表达式检索值。

结果:

enter image description here

参考文献:

答案 1 :(得分:0)

那是不可能的。您尝试抓取的信息是由JavaScript控制的,而Google表格完全无法读取JS。您可以仅通过在给定网站上禁用JS来进行测试:

0