UltKit

Převodník HTML do JSON

Vytáhněte tabulku z uložené webové stránky a získejte ji jako JSON, který váš kód snadno projde ve smyčce. Buňky záhlaví určují názvy klíčů a každý řádek tabulky se stane jedním objektem v poli.

Převodník dat

nebo sem přetáhněte soubory CSV, TSV, TXT … ·

Max. 95 MB na soubor· Až 20 souborů· Smazáno po 30 minutách

Výstup

Soubory se zpracovávají na našich serverech a po 30 minutách se smažou.

Jak nástroj používat

  1. 1

    Uložte stránku nebo tabulku

    V prohlížeči stiskněte Ctrl+S (na Macu Cmd+S) a uložte soubor HTML, nebo zkopírujte kód tabulky z vývojářských nástrojů do souboru .html. Nahrát můžete až 20 souborů, každý do 95 MB.

  2. 2

    Zvolte strukturu JSON

    Pole objektů je nastaveno automaticky. V části Pokročilá nastavení přepněte Struktura JSON na Pole polí, pokud chcete kompaktnější soubor, nebo vypněte Čitelné formátování, aby výstup byl na jednom řádku.

  3. 3

    Převeďte a použijte data

    Stiskněte Převést na JSON, stáhněte soubor a načtěte ho pomocí JSON.parse v JavaScriptu, json.load v Pythonu nebo v libovolném klientu API.

Uložte stránku, nahrajte soubor .html a každý řádek tabulky se vrátí jako objekt JSON s klíči podle buněk záhlaví.

Kdy je potřeba převést webovou tabulku do JSON

Spousta užitečných dat existuje jen jako tabulka HTML: stránka s kurzy měn, tabulka sportovní ligy, přehled, který intranet zobrazí, ale nedovolí stáhnout, nebo stavová stránka se seznamem všech serverů. Prohlížeč ji hezky zobrazí, ale front-endový vývojář, který staví graf, nebo tester, který potřebuje testovací data, chce místo toho pole objektů.

Obvyklým řešením je scraper: stáhnout stránku, zpracovat ji pomocí Beautiful Soup nebo Cheerio, projít řádky a namapovat buňky. To se vyplatí napsat, když se stránka mění denně. U tabulky, kterou potřebujete jednou, je nahrání uložené stránky rychlejší a nemusíte nic udržovat.

Příklad převodu HTML tabulky do JSON

Vstupní tabulka se záhlavími th City a Founded a výstup jako pole objektů
<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 }
]

Co převod zachová a co vynechá

  • Zachováno: text buněk, řádek záhlaví jako klíče a pořadí řádků
  • Vynecháno: CSS, vložené styly, třídy a stránka okolo tabulky
  • Vynecháno: obrázky a ikony v buňkách, které nemají textovou hodnotu
  • Buňky s odkazy si ponechají viditelný text, ne adresu URL
  • Mezery na začátku a konci buněk odstraní volba Oříznout mezery
  • Výstup je v UTF-8, které norma RFC 8259 vyžaduje pro JSON sdílený mezi systémy

Omezení převodu HTML do JSON

přijímané uložené stránky
.html .htm
stránek v dávce
20
na nahraný soubor
95 MB
poté se soubory smažou
30 min

HTML a JSON vedle sebe

HTML

HyperText Markup Language

HTML je značkovací jazyk webu, který poprvé popsal Tim Berners-Lee na počátku 90. let a dnes jej spravuje WHATWG jako živý standard. Soubor HTML popisuje nadpisy, odstavce, odkazy, tabulky, obrázky a formuláře, zatímco vzhled obvykle zajišťuje CSS. Vykreslí jej každý prohlížeč a používá se také pro e-mailové šablony a uložené webové stránky. Jeden soubor HTML často závisí na externích obrázcích a stylech, takže po samostatném přenesení může vypadat rozbitě.

Komprese
–
Průhlednost
–
Animace
–
Představeno
1993 · Tim Berners-Lee; maintained by WHATWG
Převodník HTML

JSON

JavaScript Object Notation

JSON je odlehčený textový formát pro strukturovaná data, který na počátku 21. století zpopularizoval Douglas Crockford a který je standardizován jako RFC 8259 a ECMA-404. Pomocí jednoduché čitelné syntaxe popisuje objekty, pole, řetězce, čísla, booleovské hodnoty a null. Je výchozím formátem webových API, konfiguračních souborů a výměny dat mezi aplikacemi téměř v každém programovacím jazyce. Nemá vestavěné komentáře, data ani schémata a rozsáhlé vnořené soubory se bez prohlížeče špatně čtou.

Komprese
–
Průhlednost
–
Animace
–
Představeno
2001 · Douglas Crockford
Převodník JSON

HTML se převádí na JSON, když tabulka zveřejněná pro lidské čtenáře, na stránce s přehledem, v intranetu nebo na webu s veřejnou statistikou, musí napájet skript, knihovnu pro grafy nebo test API.

Oba formáty vycházejí z různých tradic. HTML, které poprvé popsal Tim Berners-Lee v roce 1991 a dnes ho jako živý standard spravuje WHATWG, označuje dokumenty pro zobrazení. JSON, který specifikoval Douglas Crockford a který je standardizován jako RFC 8259 a ECMA-404, obsahuje jen data. Převod z prvního na druhý spočívá hlavně ve zbavení se vzhledu, proto je výsledek obvykle mnohem menší než uložená stránka. U tabulek, které přišly jako kanály XML a ne jako webové stránky, odvede stejnou práci XML do JSON.

Otázky k převodu HTML do JSON

Čte převodník celou webovou stránku, nebo jen tabulky?

Pouze kód tabulek: řádky a buňky uvnitř prvků table, tr, th a td. Navigační menu, odstavce a karty vytvořené z prvků div nejsou tabulková data, a proto se na JSON nepřevádějí.

Který řádek určuje klíče v JSON?

Řádek záhlaví, obvykle buňky th na začátku tabulky. Při zapnuté volbě První řádek je záhlaví se jeho text stane klíčem pro každou hodnotu pod ním, takže sloupec s názvem Population dá v každém objektu "Population": "…".

Jak se zpracují buňky s colspan a rowspan?

Sloučená buňka zabírá několik pozic v mřížce, ale obsahuje jedinou hodnotu. Hodnotu čekejte jen na první pozici, takže po převodu zkontrolujte sloupce přes více buněk a pokud tabulka spoléhá na sloučená záhlaví, doplňte mezery v kódu.

Proč jsou čísla v mém JSON zapsaná s čárkami nebo značkami poznámek?

Webové tabulky jsou psané pro čtenáře, takže buňka může obsahovat 1,204,000 nebo 8.3[2]. Prosté číslo jako 1123 se stane číslem JSON, ale takové buňky nejsou platná čísla a zůstanou řetězci; před počítáním odstraňte v kódu oddělovače a značky poznámek.

Je dovoleno stahovat tabulku z webu?

Záleží na podmínkách webu a na datech, ne na formátu souboru. Obvyklé případy jsou veřejné statistiky a vaše vlastní exportované přehledy; před použitím cizího obsahu si přečtěte podmínky.

Mohu místo JSON získat tabulku pro Excel?

Ano. HTML do CSV zapíše stejnou tabulku jako řádky oddělené čárkami, které otevřete v Excelu, Google Sheets nebo Numbers.