Подключение к веб-источникам данных

Подключение к веб-источникам данных

Введение

Плагин SaveToDB к Microsoft Excel позволяет подключаться к веб-источникам данных.

Поддерживаются следующие виды веб-источников:

  • Веб-сервисы, включая веб-сервисы OData.
  • Веб-страницы.

Поддерживаются форматы HTML, XML, JSON, CSV.

Поддерживаются следующие способы аутентификации: Windows, Basic, Forms, OAuth 1.0 и OAuth 2.0.

Поддерживаются провайдеры: Google, Facebook, LinkedIn, Twitter, Windows Live, Yahoo, Yahoo API Key.

SaveToDB Standard и Enterprise позволяют сохранять данные веб-сервисов OData из Microsoft Excel, если сохранение поддерживается веб-сервисом.

Можно использовать Мастер сохранения данных слиянием для сохранения данных в базу данных.

Также можно настроить сохранение данных в базу данных по кнопке "Сохранить".

Выбор провайдера

Для подключения к веб данным следует выбрать Gartle Web Data Provider.

Подключение к веб-источнику данных

Шаг подключения к веб-источникам отличается от подключения к базе данных:

На данном шаге следует ввести:

  • URL запроса.
  • Сервисный URL (Service URL).
  • Провайдер авторизации (OAuth Provider).
  • Область действия (Scope).
  • Значение поля Accept.

После ввода url плагин SaveToDB пытается в фоне определить остальные параметры.
Если плагин не может их определить, или необходимо ввести иные параметры, их можно ввести вручную.

В любой момент можно нажать кнопку "Тест подключения" и проверить возможность подключения с указанными данными.

Кнопка "Далее" доступна только для веб-сервисов OData, т.к. далее можно выбрать интересующий объект веб-сервиса.

Для остальных веб-источников активируется кнопка "Готово", т.к. данные конкретного url и будут вставлены в Microsoft Excel.

URL

В целом, url запроса можно просто вставить из браузера.

Для http-запросов также поддерживается переопределение параметров. См. ниже.

В конец url можно также добавить параметры Pages и RootPath. См. ниже.

Сервисный URL

Сервисный url однозначно определен только для веб-сервисов OData. Это корневой адрес веб-сервиса, который выдает сервисный документ (Service Document).

Для обычных веб-сервисов или веб-страниц сервисный url это адрес веб-области, требующий авторизации.

На одном веб-сайте может быть несколько областей, требующих различной авторизации. Эти области и есть сервисные url.

Такие области нельзя определить всегда однозначно точно. Поэтому, возможно, потребуется ручная установка сервисного url.

Ничего страшного в ошибках указания сервисного url нет. Максимум потребуется ввести данные авторизации для других url этого же сайта.

Провайдер авторизации

Плагин поддерживает следующие способы аутентификации:

  1. Windows
  2. Basic
  3. Forms
  4. OAuth 1.0
  5. OAuth 2.0

Первые три способа определяются полностью автоматически и не требуют выбора.
Способ аутентификации OAuth определяется автоматически по веб-сайту url.

Можно вручную указать или, наоборот, убрать выбор провайдера OAuth.

Область действия

Область действия задается только при аутентификации OAuth 2.0. Плагин определяет ее автоматически для известных провайдеров OData.
Но требования к области могут различаться даже у одного провайдера для различных сайтов. Соответственно, область можно задать вручную.

Accept

Значение поля можно изменить на конкретное значение, если подключение в режиме Auto не получается.

Переопределение параметров http-запросов

Параметры веб-запросов определяются автоматически по url запроса.

Например: https://finance.yahoo.com/q/hp?s=GOOG+Historical+Prices

Данный url содержит один параметр s, в котором задается тикер акции (GOOG) и суффикс "+Historical+Prices".

Для запроса желательно задавать только тикер акции.

Соответственно, можно переопределить параметры запроса в форме {<Имя параметра>=<Значение по умолчанию>}

В приведенном выше примере следует вставить такой url: https://finance.yahoo.com/q/hp?s={Symbol=GOOG}+Historical+Prices

Соответственно, запрос содержит параметр Symbol, который отображается на ленте и позволяет менять запрос.

Параметры парсера

;Pages=<количество страниц>

Задает количество страниц для заданного url.

SaveToDB попробует определить адреса следующих страниц в загруженных данных и загрузить их.
Это возможно не всегда.

Пример загрузки данных опционов с Yahoo! Finance за все даты экспирации:

https://finance.yahoo.com/q/op?s={Symbol=AAPL};pages=20

;RootPath=<путь корневого элемента вывода>

Задает путь корневого элемента вывода.

Для XML или JSON, корневым будет считаться первый элемент, у которого полное имя колонки заканчивается на заданное значение.

При этом полное имя колонки включает в себя все родительские узлы, разделенные точкой.

Для JSON можно указать несколько корневых элементов, разделенных запятыми.

Для HTML указывается номер таблицы на листе, а не имя колонки.
Чтобы найти нужный номер таблицы, можете просто перебрать значения ;rootPath=1, ;rootPath=2 и т.д.

Пример загрузки данных опционов с Google Finance:

http://www.google.com/finance/option_chain?q={Symbol=AAPL}&authuser=0&output=json;RootPath=calls,puts;pages=2

Примеры загрузки финансовой отчетности с Google Finance (Income Statement, Balance, CashFlow):

https://www.google.com/finance?q={Symbol=AAPL}&fstype=ii;RootPath=2
https://www.google.com/finance?q={Symbol=AAPL}&fstype=ii;RootPath=4
https://www.google.com/finance?q={Symbol=AAPL}&fstype=ii;RootPath=6
https://www.google.com/finance?q={Symbol=AAPL}&fstype=ii;RootPath=3
https://www.google.com/finance?q={Symbol=AAPL}&fstype=ii;RootPath=5
https://www.google.com/finance?q={Symbol=AAPL}&fstype=ii;RootPath=7

;CollapsedNodes=<узел>[,...]

Задает имена узлов, которые включают значения дочерних узлов.
При этом для дочерних узлов отдельные колонки не создаются.

Опция доступна только для XML.

Пример:

;CollapsedNodes=passages

;SkippedNodes=<узел>[,...]

Задает имена узлов, которые исключаются из вывода.

Парсер исключает все узлы, которые оканчиваются на заданные значения.
Для исключения конкретной колонки следует задать фрагмент полного имени колонки, включающий родительские узлы, разделенные точкой.

Опция доступна только для XML.

Пример:

;SkippedNodes=.type

;IgnoredTags=<тег>[,...]

Задает теги, которые игнорируются, и их значения включаются в родительские колонки.

Общий сценарий - исключение тегов форматирования текса.

Опция доступна только для XML.

Пример:

;IgnoredTags=hlword

;NoSourceHeaders=true

Опция отключает использование заголовков HTML таблиц в качестве имен колонок.

Используйте эту опцию для загрузки финансовых отчетов с финансовых веб-сайтов, чтобы иметь постоянные имена колонок.

Пример:

;NoSourceHeaders=true

;AsIs=true

Опция отключает специальные преобразования известных источников данных, например дат в виде timestamp с Yahoo Finance.

Пример:

;AsIs=true

;RowValues=true

В данном режиме парсеры XML или JSON выводят все данные исходного документа в строках в виде пар ключ-значение.

Пример:

;RowValues=true

Выбор объекта подключения

Данный шаг используется для выбора объектов веб-сервисов OData.

В Списке запросов можно выбрать контейнер объектов и далее уже сам объект.

Контейнер объектов является аналогом представления конфигурации списка запросов для баз данных.

Ввод параметров запроса

На данном шаге можно ввести значения параметров запроса.

Для объектов FunctionImport веб-сервисов OData параметры определяются автоматически.

Для http-запросов параметры определяются из url или форматных вставок переопределения параметров, как описано выше.

Далее работа с данными веб-запросов аналогична работе с обычными объектами баз данных.

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Cookie Policy.