Google Apps скрипт IMPORTXML и xpath - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь собрать текущие данные о цене акций из ASX в листе Google.

Я НЕ использую = googlefinance ("ASX.NEA", "цена") для мгновенной цены с задержкой в ​​качестве разрешенияокругляет значение для копеечных акций.

Я НЕ использую = INDEX (googlefinance ("ASX.NEA", "цена", сегодня () - 10, сегодня ()), 2,2) для исторических ценон не может получить текущую цену, даже если цена разрешения является точной.

url: https://www.asx.com.au/asx/share-price-research/company/NEA xpath (xPath Finder): / html / body / section [3] / article / div 1 / дела / дела / дел [4] / дела 1 / дела 1 / фирма-резюме / таблица / TBODY / тр 1 /td 1 / уравнение span: = IMPORTXML (url, xpath) результат: # N / A Ошибка импортированного содержимого пуста

Другие xpath, которые я пробовал: xpath: // table / tbody// span xpath: //span[@ng-show="share.last_price "] xpath: //span[@ng-show="share.last_price"]

Когда я просматриваю источник страницы,последняя цена акций загружается с помощью JavaScript.

Пример: цена акции iс 0,910 элемент проверки хрома

1 Ответ

0 голосов
/ 01 июня 2018

Альтернативное решение с использованием скриптов приложения (javascript)

<code>
    function AsxPrice(asx_stock) {
      var url = "https://www.asx.com.au/asx/1/share/" + asx_stock +"/";
      var response = UrlFetchApp.fetch(url);
      var content = response.getContentText();
      Logger.log(content);
      var json = JSON.parse(content);
      var last_price = json["last_price"]; 
      return last_price;
    }
</code>

Это гораздо эффективнее, чем importXML () или ImportHTML (), поскольку HTML раздутый, приведенный выше URL-адрес является jsonresult.

Для других крупных фондовых бирж (источник json можно найти по адресу):

EU USA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...