Google表格使用Importxml错误无法获取网址

时间:2020-04-04 12:17:53

标签: google-apps-script xpath web-scraping google-sheets google-sheets-formula

我想在此网站(https://tarkov-market.com/item/Pack_of_sugar)上获取价格数据

但这不起作用

=IMPORTXML("https://tarkov-market.com/item/Pack_of_sugar","//*[@id='__layout']/div/div[1]/div/div[4]/div[1]/div[2]/div[1]/div[2]")

1 个答案:

答案 0 :(得分:1)

  • 您要从55,500₽的网址中检索类似https://tarkov-market.com/item/Pack_of_sugar的价格,并将其放入Google Spreadsheet上的单元格中。

我可以这样理解。如果我的理解是正确的,那么这个答案怎么样?

问题和解决方法:

不幸的是,IMPORTXML无法用于这种情况。由于IMPORTXML的使用方式与=IMPORTXML("https://tarkov-market.com/item/Pack_of_sugar","//*")相似,因此会发生无法从URL检索值之类的错误。因此,在这种情况下,作为一种解决方法,我想建议使用Google Apps脚本作为自定义函数。使用Google Apps脚本时,可以检索该值。

示例脚本:

请复制以下脚本并将其粘贴到电子表格的容器绑定脚本中。并将=sampleFormula()放在单元格中。这样,可以将值放入单元格中。

function sampleFormula() {
  const url = "https://tarkov-market.com/item/Pack_of_sugar";
  const html = UrlFetchApp.fetch(url).getContentText();
  return html.match(/price:(.+?)<\/title>/)[1].trim();
}
结果:

enter image description here

注意:

  • 该脚本供您提问。因此,当将此脚本用于其他URL和场景时,可能会发生错误。请注意这一点。

参考文献: