Google Sheet use Importxml error could not fetch url

落花浮王杯 提交于 2020-07-03 05:05:11

问题


I want to get price data on this website (https://tarkov-market.com/item/Pack_of_sugar)

But it doesn't work

=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:


  • You want to retrieve the price like 55,500₽ from the URL of https://tarkov-market.com/item/Pack_of_sugar and put to a cell on Google Spreadsheet.

I could understand like this. If my understanding is correct, how about this answer?

Issue and workaround:

Unfortunately, IMPORTXML cannot be used for this situation. Because IMPORTXML is used like =IMPORTXML("https://tarkov-market.com/item/Pack_of_sugar","//*"), an error like the value cannot be retrieved from the URL occurs. So in this case, as a workaround, I would like to propose to use Google Apps Script as a custom function. When Google Apps Script is used, the value can be retrieved.

Sample script:

Please copy and paste the following script to the container-bound script of the Spreadsheet. And please put =sampleFormula() to a cell. By this, the value can be put to the cell.

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();
}
Result:

Note:

  • This script is for your question. So when this script is used for other URL and scenes, an error might occur. Please be careful this.

References:

  • Custom Functions in Google Sheets
  • Class UrlFetchApp


来源:https://stackoverflow.com/questions/61027957/google-sheet-use-importxml-error-could-not-fetch-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!