Отримання даних у вигляді CSV-звітів за допомогою API

19.05.2017
Отримання даних у вигляді CSV-звітів за допомогою API
Автор:

Різноманітні API (інтерфейси прикладного програмування) покликані значно полегшувати життя як розробникам, так і користувачам веб-ресурсів. Вони здатні вирішувати найскладніші задачі, забезпечувати комунікацію між програмами, автоматизувати будь-які процеси. Ми уже детально описували декілька відомих API у Drupal: Database API, Queue API, Batch API, Field API, Ctools modal API і т.д. Сьогодні поговоримо про одну особливу місію, яку можна успішно доручити API: отримання даних з сайту у вигляді зручних CSV-звітів.

CSV-формат: суть і переваги

CSV — популярний формат, що широко використовується для імпорту і експорту даних. Його назва розшифровується як Comma-Separated Values (значення, розділені комами), що і описує суть його роботи. Табличні дані зберігаються у вигляді простого тексту, де значення розділені комами, а рядки — символами нового рядка. Кожне значення відповідає за одну комірку таблиці, а кожен рядок — відповідно, за один рядок таблиці.

CSV-звіти виглядають дуже лаконічно. Розмір CSV-файлу може бути в кілька разів меншим за розмір XML-файлу, що є дуже економним рішенням. Навіть база великого інтернет-магазину може вміститися в 1-2 мегабайти. Однак, варто зазначити, що XML дещо виграє у CSV щодо можливостей складного форматування.

За замовчуванням файл CSV можна переглянути у текстовому редакторі. Крім того, його можна відкрити в Excel, Google Spreadsheets і подібних програмах, а також трансформувати в інші формати для оптимального представлення інформації.

Спеціальна розробка InternetDevels: API для генерування CSV-звітів

Щоб зручно експортувати CSV-дані, створюються спеціальні програмні рішення. Навіть якщо сайт оперує величезною кількістю інформації, завжди є можливість створити функціонал, що забезпечить легке виведення усіх потрібних даних. Це може бути не тільки ваш власний сайт — можна експортувати дані і з інших сайтів, до яких ви маєте доступ або які не є закритими.

У нас уже є досвід створення API для отримання даних з сайту з подальшою генерацією CSV-звітів на основі цих даних — для веб-сайту великої аналітичної платформи в галузі нерухомості. Вона агрегує безліч даних із різних джерел, пропонує можливості обробки і систематизації цих даних, а також переведення їх у зручні формати. Такий функціонал був їй особливо потрібен, і повністю виправдав себе.

Отже, давайте розглянемо, як працює створений нами API. Отримати CSV-звіти можна у кілька кроків: відправлення запиту до сервера, отримання відповіді в форматі JSON, переведення даних в CSV і збереження їх у файлі.

Запитуємо дані

Отже, спочатку нам потрібно відправити GET-запит на сервер. Цей запит складається з двох частин:

  • шлях до сайту, який завжди лишається незмінним (при роботі з одним і тим самим сайтом);
  • додаткові параметри, які дозволяють максимально кастомізувати наші CSV-звіти, аби вони містили виключно ту інформацію, яка нас цікавить.

Додаткові параметри — це поля і фільтри. Розглянемо їх детальніше.

  • Зручний поп-ап продемонструє нам список полів, серед яких можна обрати і відзначити галочками потрібні. Саме такими і будуть назви колонок у майбутній CSV-таблиці (наприклад, ціна, ID, адреса і т.д.).
  • Крім того, можна налаштувати фільтри, вказавши, за якими критеріями відсортувати дані. Тоді ми отримаємо тільки ті дані, які підпадають під вказані критерії (наприклад, об’єкти в певному діапазоні цін).
Отримуємо дані, переводимо їх в CSV та зберігаємо у файлі

«Розповівши» серверу в усіх деталях, що ми хочемо побачити в таблиці, ми отримуємо на наш запит відповідь у JSON-форматі. Дані аналізуються на програмному рівні і трансформуються в формат CSV, а потім зберігаються в файлі. Такий файл можна легко завантажити, використати як основу для зручних звітів у будь-яких популярних форматах, наприклад, представити на веб-сайті в HTML і так далі.

Для швидкого отримання статистики наш API працює з потужним сервісом Solr, який зберігає, індексує та оперативно шукає потрібні дані.

Ми із задоволенням візьмемось за створення функціоналу для CSV-звітів або будь-якого іншого, що відкриє для вашого веб-ресурсу нові можливості. Розкажіть нам про свої потреби та ідеї — і ідеальне програмне рішення не змусить на себе чекати!

Голосів: 1 Рейтинг: 5

Також по темі

1

Чи міг хтось раніше уявити додаток, здатний дізнаватись наміри або емоції людини з її голосу? А додаток, що вміє описувати зображення словами та реченнями, дозволяючи людям з вадами зору «бачити...

2

Добре продумана стратегія контент-маркетингу — це місток між вами і вашими потенційними клієнтами, це сходинки до вершини сторінки відображення результатів пошуку і до успіху вашого бізнесу. Ми...

3

Веб-ресурси створені, щоб бути доступними для своїх відвідувачів 24/7. У цьому зацікавлені як їхні власники, так і користувачі. Отже, якщо ви хочете, щоб ваш сайт, щоб був онлайн цілодобово, кожну...

4

У світі мобільних додатків є два основні типи користувачів: ті, в кого Android, і ті, в кого iOS. Було б чудово включити їх до числа своїх клієнтів, створивши ідеальний для всіх додаток, і при...

5

Люди підвищують ефективність додатків, а додатки підвищують ефективність людей! Саме так відбувається з додатками для ефективної командної роботи, менеджменту та обміну інформацією всередині...

Subscribe to our blog updates