#google-sheets
#google-sheets
Вопрос:
Я пробовал:
=importxml(«https://www.wsj.com/market-data/quotes/index/DXY «, «//span[@id=’quote_val’]/текст()»)
и еще несколько вещей, но пока безуспешно!
Ответ №1:
Я считаю, что ваша цель заключается в следующем.
- Вы хотите получить значение
//span[@id='quote_val']/text()
fromhttps://www.wsj.com/market-data/quotes/index/DXY
.
Проблема и обходной путь:
Когда =IMPORTXML("https://www.wsj.com/market-data/quotes/index/DXY","//*")
помещается в ячейку, я подтвердил, что возникает Could not fetch url: https://www.wsj.com/market-data/quotes/index/DXY
ошибка. Но когда я протестировал URL-адрес с помощью UrlFetchApp из Google Apps Script, я подтвердил, что данные HTML могут быть получены.
В этом ответе в качестве обходного пути я хотел бы предложить достичь вашей цели с помощью пользовательской функции с помощью Google Apps Script.
Пример сценария:
Пожалуйста, скопируйте и вставьте следующий скрипт в редактор сценариев электронной таблицы Google и сохраните его. При использовании этого скрипта, пожалуйста, поместите =SAMPLE("https://www.wsj.com/market-data/quotes/index/DXY")
в ячейку. При этом запускается скрипт и извлекается значение.
function SAMPLE(url) {
const html = UrlFetchApp.fetch(url).getContentText();
const res = html.match(/<span id="quote_val">(. ?)</span>/);
if (!res) throw new Error("Value cannot be retrieved.")
return isNaN(res[1]) ? res[1] : Number(res[1]);
}