UltKit
Зображення11
PDF13
Документи й дані7
Відео6
Аудіо4
Інші інструменти22

Конвертер HTML у JSON

Витягніть таблицю зі збереженої вебсторінки й отримайте її у вигляді JSON, який ваш код зможе обійти в циклі. Клітинки заголовка задають назви ключів, а кожен рядок таблиці стає окремим об’єктом у масиві.

Конвертер даних

або перетягніть Файли CSV, TSV, TXT … сюди ·

До 95 МБ на файл· До 20 файлів· Видаляються через 30 хв

Результат

Файли обробляються на наших серверах і видаляються через 30 хв.

Як користуватися цим інструментом

  1. 1

    Збережіть сторінку або таблицю

    У браузері натисніть Ctrl+S (Cmd+S на Mac) і збережіть HTML-файл або скопіюйте розмітку таблиці з інструментів розробника в файл .html. Завантажте до 20 файлів, до 95 MB кожен.

  2. 2

    Виберіть структуру JSON

    Масив об’єктів уже вибрано. У розділі Додаткові налаштування перемкніть Структура JSON на масив масивів, щоб файл був компактнішим, або вимкніть Форматований вивід, щоб отримати один рядок.

  3. 3

    Конвертуйте й використовуйте дані

    Натисніть Конвертувати в JSON, завантажте файл і відкрийте його через JSON.parse у JavaScript, json.load у Python або в будь-якому API-клієнті.

Збережіть сторінку, завантажте файл .html, і кожен рядок таблиці повернеться як об’єкт JSON з ключами із заголовків таблиці.

Коли вебтаблицю потрібно перетворити на JSON

Багато корисних даних існує лише як HTML-таблиця: сторінка з курсами валют, турнірна таблиця ліги, звіт, який інтранет показує, але не дає завантажити, сторінка статусу з переліком усіх серверів. Браузер показує це гарно, але фронтенд-розробнику, що будує діаграму, або тестувальнику, якому потрібні тестові дані, потрібен масив об’єктів.

Звичайне рішення — скрапер: завантажити сторінку, розібрати її через Beautiful Soup або Cheerio, пройти рядки, зіставити клітинки. Це виправдано, коли сторінка змінюється щодня. Для таблиці, потрібної раз, швидше завантажити збережену сторінку, і підтримувати нічого не треба.

Приклад: HTML-таблиця в JSON

Вхідна таблиця із заголовками th City і Founded та результат у вигляді масиву об’єктів
<table>
  <tr><th>City</th><th>Founded</th></tr>
  <tr><td>Porto</td><td>1123</td></tr>
  <tr><td>Graz</td><td>1128</td></tr>
</table>

[
  { "City": "Porto", "Founded": 1123 },
  { "City": "Graz", "Founded": 1128 }
]

Що зберігається під час конвертації, а що відкидається

  • Зберігається: текст клітинок, рядок заголовка як ключі та порядок рядків
  • Відкидається: CSS, вбудовані стилі, класи та сторінка навколо таблиці
  • Відкидається: зображення й іконки в клітинках, що не мають текстового значення
  • Клітинки з посиланнями зберігають видимий текст, а не URL за ним
  • Пробіли на початку й у кінці клітинок прибирає Обрізати пробіли
  • Результат у кодуванні UTF-8, якого RFC 8259 вимагає для JSON, що передається між системами

Обмеження конвертера HTML у JSON

збережені сторінки приймаються
.html .htm
сторінок за раз
20
на завантажений файл
95 MB
потім файли видаляються
30 хв

HTML і JSON: порівняння

HTML

HyperText Markup Language

HTML — мова розмітки вебу, яку на початку 1990-х описав Тім Бернерс-Лі і яку тепер підтримує WHATWG як «живий стандарт». Файл HTML описує заголовки, абзаци, посилання, таблиці, зображення та форми, а оформлення зазвичай задає CSS. Його відображає кожен браузер, а ще його використовують для шаблонів листів і збережених вебсторінок. Один файл HTML часто залежить від зовнішніх зображень і таблиць стилів, тому окремо він може виглядати зламаним.

Стиснення
–
Прозорість
–
Анімація
–
Рік появи
1993 · Tim Berners-Lee; maintained by WHATWG
Конвертер HTML

JSON

JavaScript Object Notation

JSON — легкий текстовий формат для структурованих даних, який на початку 2000-х популяризував Дуглас Крокфорд і який стандартизовано як RFC 8259 та ECMA-404. Він передає об’єкти, масиви, рядки, числа, булеві значення та null простим читабельним синтаксисом. Це формат за замовчуванням для вебAPI, конфігураційних файлів і обміну даними між застосунками майже в усіх мовах програмування. У ньому немає вбудованих коментарів, дат і схем, а великі вкладені файли важко читати без переглядача.

Стиснення
–
Прозорість
–
Анімація
–
Рік появи
2001 · Douglas Crockford
Конвертер JSON

HTML перетворюють на JSON, коли таблицю, опубліковану для людей на сторінці звіту, в інтранеті чи на сайті публічної статистики, потрібно передати скрипту, бібліотеці діаграм або API-тесту.

Ці два формати походять із різних традицій. HTML, який уперше описав Тім Бернерс-Лі в 1991 році і який нині підтримує WHATWG як живий стандарт, розмічає документи для відображення. JSON, описаний Дугласом Крокфордом і стандартизований як RFC 8259 та ECMA-404, містить лише дані. Перехід від першого до другого — це здебільшого відкидання оформлення, тому результат зазвичай значно менший за збережену сторінку. Для таблиць, що надійшли як XML-стрічки, а не вебсторінки, схожу роботу виконує XML у JSON.

Запитання про конвертацію HTML у JSON

Конвертер читає всю вебсторінку чи лише таблиці?

Лише табличну розмітку: рядки й клітинки всередині елементів table, tr, th і td. Меню навігації, абзаци та картки, зроблені з елементів div, не є табличними даними, тому в JSON не перетворюються.

Який рядок задає ключі JSON?

Рядок заголовка, зазвичай клітинки th угорі таблиці. Якщо ввімкнено Перший рядок — заголовок, його текст стає ключем для кожного значення під ним, тож стовпець із заголовком Population дає "Population": "…" у кожному об’єкті.

Як обробляються клітинки з colspan і rowspan?

Об’єднана клітинка займає кілька позицій сітки, але містить одне значення. Це значення буде лише в першій позиції, тож після конвертації перевірте стовпці з об’єднанням і заповніть пропуски в коді, якщо таблиця спирається на об’єднані заголовки.

Чому числа в моєму JSON записані з комами чи позначками виносок?

Вебтаблиці пишуть для читачів, тому клітинка може містити 1,204,000 або 8.3[2]. Просте число, як-от 1123, стає числом JSON, а такі клітинки не є коректними числами й лишаються рядками; перед обчисленнями приберіть роздільники та позначки приміток у коді.

Чи дозволено витягувати таблицю з вебсайту?

Це залежить від умов сайту та самих даних, а не від формату файлу. Типові випадки — публічна статистика й власні вивантажені звіти; перш ніж повторно використовувати чужий вміст, перевірте умови.

Чи можна отримати електронну таблицю замість JSON?

Так. HTML у CSV записує ту саму таблицю рядками через кому, які відкриваються в Excel, Google Sheets або Numbers.