Google Sheet 使用 Importxml 错误无法获取 url [英] Google Sheet use Importxml error could not fetch url
问题描述
我想在这个网站上获取价格数据 (
注意:
- 此脚本适用于您的问题.所以当这个脚本用于其他网址和场景时,可能会出现错误.请注意这一点.
参考:
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]")
- You want to retrieve the price like
55,500₽
from the URL ofhttps://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:
这篇关于Google Sheet 使用 Importxml 错误无法获取 url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!