UltKit

Konwerter HTML na JSON

Wyciągnij tabelę z zapisanej strony internetowej i otrzymaj ją jako JSON, po którym Twój kod może iterować. Komórki nagłówka nadają nazwy kluczom, a każdy wiersz tabeli staje się jednym obiektem w tablicy.

Konwerter danych

lub upuść Pliki CSV, TSV, TXT … tutaj ·

Maks. 95 MB na plik· Do 20 plików· Usuwane po 30 min

Plik wynikowy

Pliki są przetwarzane na naszych serwerach i usuwane po 30 min.

Jak korzystać z narzędzia

  1. 1

    Zapisz stronę lub tabelę

    W przeglądarce naciśnij Ctrl+S (Cmd+S na Macu) i zachowaj plik HTML albo skopiuj kod tabeli z narzędzi deweloperskich do pliku .html. Możesz przesłać do 20 plików, każdy do 95 MB.

  2. 2

    Wybierz strukturę JSON

    Tablica obiektów jest ustawiona domyślnie. W sekcji Ustawienia zaawansowane przełącz Struktura JSON na tablicę tablic, aby uzyskać bardziej zwarty plik, albo wyłącz Czytelne formatowanie, aby dostać jeden wiersz.

  3. 3

    Konwertuj i użyj danych

    Naciśnij Konwertuj na JSON, pobierz plik i wczytaj go przez JSON.parse w JavaScripcie, json.load w Pythonie lub w dowolnym kliencie API.

Zapisz stronę, prześlij plik .html, a każdy wiersz tabeli wróci jako obiekt JSON z kluczami z komórek nagłówka.

Kiedy tabela ze strony musi stać się plikiem JSON

Wiele przydatnych danych istnieje tylko jako tabela HTML: strona z kursami walut, tabela ligi sportowej, raport, który intranet wyświetla, ale nie pozwala pobrać, strona statusu z listą wszystkich serwerów. Przeglądarka pokazuje je ładnie, ale programista front-endu budujący wykres albo tester potrzebujący danych testowych woli tablicę obiektów.

Zwykle odpowiedzią jest scraper: pobrać stronę, sparsować ją w Beautiful Soup lub Cheerio, przejść po wierszach, zmapować komórki. Warto go napisać, gdy strona zmienia się codziennie. Przy tabeli potrzebnej jednorazowo szybciej jest przesłać zapisaną stronę, a nie ma czego utrzymywać.

Przykład: tabela HTML na JSON

Tabela wejściowa z nagłówkami th City i Founded oraz wynik jako tablica obiektów
<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 konwersja zachowuje, a co pomija

  • Zachowane: tekst komórek, wiersz nagłówka jako klucze i kolejność wierszy
  • Pomijane: CSS, style inline, klasy i strona wokół tabeli
  • Pomijane: obrazy i ikony w komórkach, które nie mają wartości tekstowej
  • Komórki z linkami zachowują widoczny tekst, a nie ukryty adres URL
  • Spacje na początku i końcu komórek usuwa Usuń zbędne spacje
  • Wynik jest w UTF-8, którego RFC 8259 wymaga dla JSON wymienianego między systemami

Ograniczenia konwertera HTML na JSON

akceptowane zapisane strony
.html .htm
stron w jednej partii
20
na przesłany plik
95 MB
potem pliki są usuwane
30 min

HTML i JSON w porównaniu

HTML

HyperText Markup Language

HTML to język znaczników sieci WWW, opisany po raz pierwszy przez Tima Bernersa-Lee na początku lat 90., a obecnie rozwijany przez WHATWG jako żywy standard. Plik HTML opisuje nagłówki, akapity, odnośniki, tabele, obrazy i formularze, a stylizacja zwykle pochodzi z CSS. Renderuje go każda przeglądarka, a używa się go też w szablonach e-maili i zapisanych stronach. Pojedynczy plik HTML często zależy od zewnętrznych obrazów i arkuszy stylów, więc po przeniesieniu osobno może wyglądać na zepsuty.

Kompresja
–
Przezroczystość
–
Animacja
–
Rok powstania
1993 · Tim Berners-Lee; maintained by WHATWG
Konwerter HTML

JSON

JavaScript Object Notation

JSON to lekki format tekstowy do danych strukturalnych, spopularyzowany przez Douglasa Crockforda na początku lat 2000 i ustandaryzowany jako RFC 8259 oraz ECMA-404. Reprezentuje obiekty, tablice, ciągi znaków, liczby, wartości logiczne i null za pomocą prostej, czytelnej składni. Jest domyślnym formatem API internetowych, plików konfiguracyjnych i wymiany danych między aplikacjami w niemal każdym języku programowania. Nie ma wbudowanych komentarzy, dat ani schematów, a duże zagnieżdżone pliki trudno czytać bez przeglądarki JSON.

Kompresja
–
Przezroczystość
–
Animacja
–
Rok powstania
2001 · Douglas Crockford
Konwerter JSON

HTML konwertuje się do JSON, gdy tabela opublikowana dla ludzi, na stronie raportu, w intranecie lub w serwisie ze statystykami, ma zasilić skrypt, bibliotekę wykresów albo test API.

Oba formaty wywodzą się z różnych tradycji. HTML, opisany po raz pierwszy przez Tima Berners-Lee w 1991 roku, a obecnie rozwijany przez WHATWG jako żywy standard, opisuje dokumenty do wyświetlania. JSON, opracowany przez Douglasa Crockforda i ustandaryzowany jako RFC 8259 i ECMA-404, zawiera wyłącznie dane. Przejście z pierwszego do drugiego polega głównie na odrzuceniu warstwy prezentacji, dlatego wynik jest zwykle znacznie mniejszy niż zapisana strona. Dla tabel, które przyszły jako kanały XML, a nie strony internetowe, to samo robi XML do JSON.

Pytania o konwersję HTML na JSON

Czy konwerter czyta całą stronę internetową, czy tylko tabele?

Tylko kod tabel: wiersze i komórki w elementach table, tr, th i td. Menu nawigacyjne, akapity i układy kart zbudowane z elementów div nie są danymi tabelarycznymi, więc nie trafiają do JSON.

Który wiersz dostarcza klucze JSON?

Wiersz nagłówka, zwykle komórki th na górze tabeli. Gdy Pierwszy wiersz to nagłówek jest włączone, jego tekst staje się kluczem dla każdej wartości poniżej, więc kolumna o nagłówku Population daje "Population": "…" w każdym obiekcie.

Jak obsługiwane są komórki z colspan i rowspan?

Scalona komórka obejmuje kilka pozycji siatki, ale zawiera jedną wartość. Wartość pojawi się tylko na pierwszej pozycji, więc po konwersji sprawdź scalone kolumny i uzupełnij luki w kodzie, jeśli tabela korzysta ze scalonych nagłówków.

Dlaczego liczby w moim JSON zawierają przecinki lub znaki przypisów?

Tabele w internecie są pisane dla czytelników, więc komórka może zawierać 1,204,000 lub 8.3[2]. Zwykła liczba, np. 1123, staje się liczbą JSON, ale takie komórki nie są poprawnymi liczbami i pozostają tekstem; przed obliczeniami usuń w kodzie separatory i znaczniki przypisów.

Czy pobieranie tabeli ze strony internetowej jest dozwolone?

To zależy od regulaminu serwisu i samych danych, a nie od formatu pliku. Zwykle chodzi o publiczne statystyki i własne wyeksportowane raporty; zanim użyjesz cudzych treści, sprawdź regulamin.

Czy zamiast JSON mogę otrzymać arkusz kalkulacyjny?

Tak. HTML do CSV zapisuje tę samą tabelę jako wiersze rozdzielone przecinkami, które otworzysz w Excelu, Arkuszach Google lub Numbers.