Проект: Поставщики

Данные

Каждый запуск диггера на исполнение приводит к созданию новой сессии. Все данные, которые собирает диггер в течении одного запуска с сайта источника будут храниться непосредственно в ней.

  1. Идентификатор сессии
  2. Статус сессии
  3. Количество записей
  4. Количество ошибок при работе с сайтом
  5. Количество ошибок проверки данных
  6. Общее время работы диггера
  7. Трафик
  8. Количество запросов к сайту источнику
  9. Время запуска диггера
  10. Время окончания работы диггера
  11. Размер данных
  12. Выбор формата для экспорта данных
  13. Предпросмотр данных
  14. Удаление сессии
  15. Общее имя файла для экспорта данных (опционально)
  16. Маркер сессии в случае её запуска в режиме Отладки

Идентификатор сессии - требуется для обращения к нужной сессии через API. Вы так же можете использовать его при обращении в службу поддержки, если у вас возникнут вопросы и нашему специалисту потребуется посмотреть на данные.

Статус сессии - зависит от того, как была завершена работа диггера. Может иметь несколько состояний:
Запущен - диггер работает, сессия не завершена
Успешно - диггер отработал, сессия завершена успешно
Отказ - диггер остановлен системой, сессия завершена аварийно
Остановлено - диггер остановлен пользователем, сессия завершена

Количество записей - это суммарное количество строк с данными собраными диггером.

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

Количество ошибок проверки данных - показывает проблемы с проверкой данных. Эти ошибки возникают только тогда, когда у диггера есть схема проверки данных (JSON Schema Validation) и какая то часть данных не прошла проверку. Более подробно смотрите в разделе - проверка данных.

Если сессия завершена и сценарий диггера был выполнен в Активном режиме, вам будет доступен выбор формата для экспорта данных. В настоящий момент наш сервис поддерживает следующие форматы:

TXT - это обычный текстовый формат, где блоки данных разделены тремя знаками -, наименования полей состоят из имени корневого элемента и имени поля, с дополнительными знаками >> между ними. От значения отделены знаком :

HTML - html формат, представляющий данные табличном виде

CSV, CSV (flat), Excel и Excel (flat) форматы позволяют получить данные в виде Comma-Separated Values (данные, разделенные запятыми) или в виде бинарного файла для редактора Microsoft Excel. Оба формата (CSV, Excel) представлены дополнительными опциями в виде плоской (flat) развертки структуры данных. Поскольку сценарий диггера позволяет собирать данные используя вложенные структуры, то при записи подобной структуры в форматы CSV или Excel, мы используем следующий алгоритм записи: каждый вложенный в стуктуру элемент порождает новую строку с данными, а одинаковые данные дублируются из строки в строку. Для лучшего понимания давайте посмотрим пример на базе специального сценария:

          ---
# пример вложенной структуры данных
config:
    agent: Firefox
    debug: 2
do:
- walk:
    to: https://www.diggernaut.com/sandbox/table-nested-data-ru.html
    do:
    - find:
        path: table.main
        do:
        - object_new: item
        - find:
            path: tr.title
            do:
            - find:
                path: h2
                do:
                - parse
                - object_field_set:
                    object: item
                    field: заголовок
            - find:
                path: p
                do:
                - parse
                - object_field_set:
                    object: item
                    field: описание_курса
        - find:
            path: tr.course > td > table
            do:
            - find:
                path: tbody > tr
                do:
                - object_new: activity
                - find:
                    path: td:nth-child(1)
                    do:
                    - parse
                    - object_field_set:
                        object: activity
                        field: номер_курса
                - find:
                    path: td:nth-child(2)
                    do:
                    - parse
                    - object_field_set:
                        object: activity
                        field: даты_проведения
                - find:
                    path: td:nth-child(3)
                    do:
                    - parse
                    - object_field_set:
                        object: activity
                        field: возраст
                - object_save:
                    name: activity
                    to: item
        - object_save:
            name: item
          
          <!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <title>Вложенные структуры данных</title>
</head>
<body>
<table width="100%" border="1" class="main">
  <tr class="title">
    <td>
      <h2>Заголовок #1</h2>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,
      sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
    </td>
  </tr>
  <tr class="course">
    <td>
      <table width="100%" border="1">
        <thead>
          <tr>
            <th>Мероприятия</th>
            <th>Даты</th>
            <th>Возраст</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>362000-00</td>
            <td>01/10/16 - 14/10/16</td>
            <td>с 6 до 9 лет</td>
          </tr>
          <tr>
            <td>362000-01</td>
            <td>10/11/16 - 24/11/16</td>
            <td>с 9 до 11 лет</td>
          </tr>
          <tr>
            <td>362000-02</td>
            <td>18/12/16 - 30/12/16</td>
            <td>с 11 до 13 лет</td>
          </tr>
        </tbody>
      </table>
    </td>
  </tr>
</table>
</body>
</html>
          

После исполнения данного сценария в Активном режиме диггера у нас появится сессия с количеством записей равным 1. Теперь скачаем эти данные выбрав формат Excel.

Как видите, при выборе данного формата, произошла развертка данных в три строки вместо одной. При этом, информация в столбцах заголовок и описание_курса не меняется и дублируется для каждого номера курса.

Теперь попробуем скачать данные в формате Excel (flat).

Обратите внимание как изменились данные. Теперь они представлены в виде плоской структуры в одну строку, а заголовки содержат дополнительный индекс в виде цифры. Вы можете использовать один из этих представлений вложенных данных, в завистимости от удобства дальнейшей обработки. Если данные не содержат вложенных структур, то развертки не производится и данные будут представлены в виде привычной, табличной формы.

XML - формат с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком. Более подробно с данным форматом можно ознакомиться на сайте википедии.

В дополнение к этому формату данных, Diggernaut предоставляет возможность формировать специальные шаблоны выгрузки. С помощью этих шаблонов вы сможете формировать свое собственное представление данных, необходимое вам для дальнейшей обработки. К примеру, ваша система 1С принимает для загрузки товаров файлы формата XML, но требует придерживаться определенной структуры данных. С помощью шаблонов выгрузки, вы сможете сформировать необходимую для загрузки структуру данных, скачать собраные данные и загрузить к себе в 1С. Более подробно мы рассмотрим данную возможность в разделе - шаблоны выгрузки.

JSON и JSON (pretty) - текстовый формат обмена данными, основанный на JavaScript. За счёт своей лаконичности по сравнению с XML, формат JSON может быть более подходящим для сериализации сложных структур. Более подробную информацию по этому формату вы можете найти на сайте википедии или непосредственно на сайте стандарта json.org. Различие между JSON и JSON (pretty) лишь в визуальном отображении информации, JSON отображает информацию компактно, все данные по каждой позиции располагаются в одной строке, а JSON (pretty) позволяет получить более удобную в чтении человеком структуру.

NDJSON - все тот же формат JSON, но признаком разделения данных является новая строка. Более подробно можно прочитать на сайте формата - ndjson.org

NDJSON (no root) - аналогичный формату NDJSON, за исключением корневого (root) элемента данных.

Предпросмотр данных - позволяет вам посмотреть на собранные данные в виде формата JSON с удобным форматированием, но без скачивания самих данных.

  1. Предупреждение о лимите просмотра для сессии в режиме отладки
  2. Свернутые данные (для их раскрытия нажмите мышкой на скобки)

  1. Корневой (root) элемент данных
  2. Заголовок поля данных
  3. Значение этого поля
  4. Быстрый переход к таблицам сессий и данных

Общее имя файла для экспорта - поле предназначено для установки общего имени файла для выгрузки любой из сессий диггера и в любом формате. По умолчанию, Diggernaut будет отдавать вам файлы с данными выбранного формата используя имя digger_ID_session_ID.format, где ID соответственно идентификаторы диггера и скачиваемой сессии. Если вы пропишете в это поле значение товары_для_магазина, то при выгрузке, система будет отдавать данные с именем файла как товары_для_магазина.format.

Маркер сессии - обозначает в каком режиме диггера (Активный или Отладка) были собраны данные. Наличие маркера означает, что данные собирались в режиме Отладка. Данный режим накладывает определенные ограничения, а именно:
- вы не можете скачивать данные в различных форматах;
- при предпросмотре данных, будет доступно только первые 20 записей;
Если вам требуется полный просмотр данных или их экспорт в нужный вам формат, переведите диггер в режим Активный и запустите его снова, при этом, в новой сессии, маркер отладки будет отсутствовать.