UltKit

HTML na JSON-omskakelaar

Haal die tabel uit 'n gestoorde webbladsy en kry dit terug as JSON waaroor u kode kan loop. Die opskrifselle gee die sleutels hul name, en elke ry van die tabel word een objek in 'n skikking.

Data-omskakelaar

of los CSV, TSV, TXT …-lêers hier ·

Maks. 95 MB per lêer· Tot 20 lêers· Uitgevee na 30 minute

Uitvoer

Lêers word op ons bedieners verwerk en na 30 minute uitgevee.

Hoe om hierdie nutsding te gebruik

  1. 1

    Stoor die bladsy of die tabel

    Druk in jou blaaier Ctrl+S (Cmd+S op 'n Mac) en hou die HTML-lêer, of kopieer die tabel se opmerking vanaf die ontwikkelaarsnutsmiddels na 'n .html-lêer. Laai tot 20 lêers op, elk tot 95 MB.

  2. 2

    Kies die JSON-struktuur

    Skikking van objekte is reeds vir jou gestel. Onder Gevorderde instellings kan jy JSON-struktuur na Skikking van skikkings verander vir 'n kompakter lêer, of Netjiese formatering afskakel om 'n enkele reël te kry.

  3. 3

    Skakel om en gebruik die data

    Druk Skakel om na JSON, laai die lêer af en laai dit met JSON.parse in JavaScript, json.load in Python of enige API-kliënt.

Stoor die bladsy, laai die .html-lêer op en elke tabelry kom terug as 'n JSON-objek met die tabel se opskrifselle as sleutels.

Wanneer 'n webtabel JSON moet word

Baie nuttige data bestaan net as 'n HTML-tabel: 'n wisselkoersbladsy, 'n sportligastand, 'n verslag wat jou intranet wys maar nooit laat aflaai nie, 'n statusbladsy wat elke bediener lys. Die blaaier wys dit mooi, maar 'n front-end-ontwikkelaar wat 'n grafiek bou, of 'n toetser wat toetsdata nodig het, wil eerder 'n skikking van objekte hê.

Die gewone antwoord is 'n skraper: haal die bladsy, ontleed dit met Beautiful Soup of Cheerio, loop deur die rye en karteer die selle. Dit is die moeite werd as die bladsy daagliks verander. Vir 'n tabel wat jy een keer nodig het, is dit vinniger om die gestoorde bladsy op te laai en dan is daar niks om te onderhou nie.

Voorbeeld: HTML-tabel na JSON

Invoertabel met th-opskrifte City en Founded, uitvoer met Skikking van objekte
<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 }
]

Wat die omskakeling behou en weglaat

  • Behou: seltekst, die opskrifry as sleutels en die rywolgorde
  • Weggelaat: CSS, inlynstyle, klasse en die bladsy rondom die tabel
  • Weggelaat: beelde en ikone in selle, wat geen teks het nie
  • Skakelselle behou hul sigbare teks, nie die URL daaragter nie
  • Spasies aan die begin en einde van selle word deur Verwyder spasies aan kante verwyder
  • Die uitvoer is UTF-8, wat RFC 8259 vereis vir JSON wat tussen stelsels gedeel word

Beperkings van die HTML na JSON-omskakelaar

gestoorde bladsye aanvaar
.html .htm
bladsye per bondel
20
per opgelaaide lêer
95 MB
daarna word lêers uitgevee
30 min

HTML en JSON langs mekaar

HTML

HyperText Markup Language

HTML is die opmaaktaal van die web, die eerste keer in die vroeë 1990's deur Tim Berners-Lee beskryf en nou deur WHATWG as 'n lewende standaard onderhou. 'n HTML-lêer beskryf opskrifte, paragrawe, skakels, tabelle, beelde en vorms, terwyl styl gewoonlik van CSS kom. Elke blaaier lewer dit, en dit word ook vir e-possjablone en gestoorde webbladsye gebruik. 'n Enkele HTML-lêer hang dikwels van eksterne beelde en style af, so dit kan stukkend lyk wanneer dit alleen geskuif word.

Kompressie
–
Deursigtigheid
–
Animasie
–
Bekendgestel
1993 · Tim Berners-Lee; maintained by WHATWG
HTML-omskakelaar

JSON

JavaScript Object Notation (JSON)

JSON is 'n ligte teksformaat vir gestruktureerde data, in die vroeë 2000's deur Douglas Crockford gewild gemaak en as RFC 8259 en ECMA-404 gestandaardiseer. Dit stel objekte, skikkings, stringe, getalle, booleaanse waardes en null met eenvoudige, leesbare sintaksis voor. Dit is die verstekformaat vir web-API's, opstellingslêers en data-uitruiling tussen programme in byna elke programmeertaal. Dit het nie ingeboude kommentaar, datums of skemas nie, en groot geneste lêers is sonder 'n kyker moeilik om te lees.

Kompressie
–
Deursigtigheid
–
Animasie
–
Bekendgestel
2001 · Douglas Crockford
JSON-omskakelaar

HTML gaan na JSON wanneer 'n tabel wat vir menslike lesers gepubliseer is, op 'n verslagbladsy, 'n intranet of 'n openbare statistiekwebwerf, 'n skrip, 'n grafiekbiblioteek of 'n API-toets moet voed.

Die twee formate kom uit verskillende tradisies. HTML, wat Tim Berners-Lee in 1991 vir die eerste keer beskryf het en wat nou deur WHATWG as 'n lewende standaard onderhou word, merk dokumente op vir vertoning. JSON, gespesifiseer deur Douglas Crockford en gestandaardiseer as RFC 8259 en ECMA-404, bevat niks behalwe data nie. Om van die eerste na die tweede te gaan, beteken hoofsaaklik om aanbieding weg te gooi, en daarom is die resultaat gewoonlik baie kleiner as die gestoorde bladsy. Vir tabelle wat as XML-voere eerder as webbladsye gekom het, doen XML na JSON die ooreenstemmende werk.

Vrae oor HTML na JSON

Lees die omskakelaar die hele webbladsy of net die tabelle?

Net tabelopmerking: die rye en selle binne table-, tr-, th- en td-elemente. Navigasiekieslyste, paragrawe en kaartuitlegte wat met div-elemente gebou is, is nie tabeldata nie en word dus nie na JSON omgeskakel nie.

Watter ry verskaf die JSON-sleutels?

Die opskrifry, gewoonlik die th-selle bo-aan die tabel. Met Eerste ry is opskrif aan word die teks daarvan die sleutel vir elke waarde daaronder, so 'n kolom met die opskrif Population gee "Population": "…" in elke objek.

Hoe word selle met colspan en rowspan hanteer?

'n Saamgevoegde sel beslaan verskeie roosterposisies, maar bevat een waarde. Verwag daardie waarde slegs in die eerste posisie, so kyk na oorspanne kolomme ná die omskakeling en vul gapings in kode aan as jou tabel op saamgevoegde opskrifte staatmaak.

Waarom staan getalle in my JSON met kommas of voetnoottekens?

Webtabelle word vir lesers geskryf, so 'n sel kan 1,204,000 of 8.3[2] sê. 'n Gewone getal soos 1123 word 'n JSON-getal, maar daardie selle is nie geldige getalle nie en bly string; verwyder skeitekens en voetnootmerke in kode voordat jy reken.

Mag ek 'n tabel van 'n webwerf afskraap?

Dit hang af van die webwerf se voorwaardes en die data, nie van die lêerformaat nie. Openbare statistiek en jou eie uitgevoerde verslae is die gewone gevalle; kyk na die voorwaardes voordat jy iemand anders se inhoud hergebruik.

Kan ek 'n sigblad in plaas van JSON kry?

Ja. HTML na CSV skryf dieselfde tabel as kommageskeide rye wat in Excel, Google Sheets of Numbers oopmaak.