UltKit
Εικόνα11
PDF13
Έγγραφα και δεδομένα7
Βίντεο6
Ήχος4
Περισσότερα εργαλεία22

Μετατροπή HTML σε JSON

Εξαγάγετε τον πίνακα από μια αποθηκευμένη ιστοσελίδα και πάρτε τον ως JSON που ο κώδικάς σας μπορεί να διατρέξει. Τα κελιά κεφαλίδας δίνουν τα ονόματα των κλειδιών και κάθε γραμμή του πίνακα γίνεται ένα αντικείμενο σε έναν πίνακα (array).

Μετατροπέας δεδομένων

ή σύρετε Αρχεία CSV, TSV, TXT … εδώ ·

Έως 95 MB ανά αρχείο· Έως 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: μια σελίδα ισοτιμιών, η βαθμολογία ενός πρωταθλήματος, μια αναφορά που το intranet εμφανίζει αλλά δεν επιτρέπει να κατεβάσετε, μια σελίδα κατάστασης με όλους τους διακομιστές. Το πρόγραμμα περιήγησης τα δείχνει όμορφα, αλλά ένας προγραμματιστής front-end που φτιάχνει γράφημα ή ένας ελεγκτής που χρειάζεται δεδομένα δοκιμών θέλει έναν πίνακα αντικειμένων.

Η συνήθης λύση είναι ένα scraper: φορτώνετε τη σελίδα, την αναλύετε με 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, inline στυλ, κλάσεις και η σελίδα γύρω από τον πίνακα
  • Αφαιρούνται: εικόνες και εικονίδια μέσα στα κελιά, που δεν έχουν τιμή κειμένου
  • Τα κελιά με σύνδεσμο κρατούν το ορατό κείμενο, όχι τη διεύθυνση URL πίσω από αυτό
  • Τα κενά στην αρχή και στο τέλος των κελιών αφαιρούνται με την επιλογή Αφαίρεση κενών
  • Η έξοδος είναι UTF-8, όπως απαιτεί το RFC 8259 για JSON που ανταλλάσσεται μεταξύ συστημάτων

Όρια της μετατροπής HTML σε JSON

αποδεκτές αποθηκευμένες σελίδες
.html .htm
σελίδες ανά παρτίδα
20
ανά αρχείο
95 MB
και μετά τα αρχεία διαγράφονται
30 λεπτά

HTML και JSON σε σύγκριση

HTML

HyperText Markup Language

Η HTML είναι η γλώσσα σήμανσης του web, που περιγράφηκε πρώτη φορά από τον Tim Berners-Lee στις αρχές της δεκαετίας του 1990 και σήμερα συντηρείται από το WHATWG ως ζωντανό πρότυπο. Ένα αρχείο HTML περιγράφει επικεφαλίδες, παραγράφους, συνδέσμους, πίνακες, εικόνες και φόρμες, ενώ η εμφάνιση συνήθως προέρχεται από CSS. Κάθε browser την αποδίδει και χρησιμοποιείται επίσης για πρότυπα email και αποθηκευμένες ιστοσελίδες. Ένα μεμονωμένο αρχείο HTML συχνά εξαρτάται από εξωτερικές εικόνες και φύλλα στυλ, οπότε μπορεί να φαίνεται χαλασμένο όταν μετακινηθεί μόνο του.

Συμπίεση
–
Διαφάνεια
–
Κινούμενη εικόνα
–
Έτος εισαγωγής
1993 · Tim Berners-Lee; maintained by WHATWG
Μετατροπέας HTML

JSON

JavaScript Object Notation

Το JSON είναι μια ελαφριά μορφή κειμένου για δομημένα δεδομένα, που διαδόθηκε από τον Douglas Crockford στις αρχές της δεκαετίας του 2000 και τυποποιήθηκε ως RFC 8259 και ECMA-404. Αναπαριστά αντικείμενα, πίνακες, συμβολοσειρές, αριθμούς, λογικές τιμές και null με απλή, ευανάγνωστη σύνταξη. Είναι η προεπιλεγμένη μορφή για web APIs, αρχεία ρυθμίσεων και ανταλλαγή δεδομένων μεταξύ εφαρμογών σε σχεδόν κάθε γλώσσα προγραμματισμού. Δεν έχει ενσωματωμένα σχόλια, ημερομηνίες ή σχήματα, και τα μεγάλα εμφωλευμένα αρχεία διαβάζονται δύσκολα χωρίς πρόγραμμα προβολής.

Συμπίεση
–
Διαφάνεια
–
Κινούμενη εικόνα
–
Έτος εισαγωγής
2001 · Douglas Crockford
Μετατροπέας JSON

Το HTML μετατρέπεται σε JSON όταν ένας πίνακας που δημοσιεύτηκε για ανθρώπους, σε σελίδα αναφοράς, σε intranet ή σε δημόσιο στατιστικό ιστότοπο, πρέπει να τροφοδοτήσει ένα σενάριο, μια βιβλιοθήκη γραφημάτων ή μια δοκιμή API.

Οι δύο μορφές προέρχονται από διαφορετικές παραδόσεις. Η HTML, που περιέγραψε πρώτος ο Tim Berners-Lee το 1991 και σήμερα συντηρείται από το WHATWG ως «ζωντανό πρότυπο», περιγράφει έγγραφα για εμφάνιση. Το JSON, που διατύπωσε ο Douglas Crockford και τυποποιήθηκε ως RFC 8259 και ECMA-404, περιέχει μόνο δεδομένα. Η μετάβαση από το πρώτο στο δεύτερο σημαίνει κυρίως απόρριψη της παρουσίασης, γι' αυτό το αποτέλεσμα είναι συνήθως πολύ μικρότερο από την αποθηκευμένη σελίδα. Για πίνακες που ήρθαν ως τροφοδοσίες XML και όχι ως ιστοσελίδες, το XML σε JSON κάνει την αντίστοιχη δουλειά.

Ερωτήσεις για τη μετατροπή HTML σε JSON

Διαβάζει ο μετατροπέας ολόκληρη την ιστοσελίδα ή μόνο τους πίνακες;

Μόνο κώδικας πίνακα: οι γραμμές και τα κελιά μέσα σε στοιχεία table, tr, th και td. Τα μενού πλοήγησης, οι παράγραφοι και οι διατάξεις καρτών από στοιχεία div δεν αποτελούν δεδομένα πίνακα, επομένως δεν μετατρέπονται σε JSON.

Ποια γραμμή δίνει τα κλειδιά του JSON;

Η γραμμή κεφαλίδας, συνήθως τα κελιά th στην κορυφή του πίνακα. Με ενεργή την επιλογή Η πρώτη γραμμή είναι κεφαλίδα, το κείμενό της γίνεται το κλειδί για κάθε τιμή από κάτω, οπότε μια στήλη με τίτλο Population δίνει "Population": "…" σε κάθε αντικείμενο.

Πώς αντιμετωπίζονται τα κελιά με colspan και rowspan;

Ένα συγχωνευμένο κελί καλύπτει περισσότερες θέσεις του πλέγματος, αλλά έχει μία τιμή. Η τιμή εμφανίζεται μόνο στην πρώτη θέση, γι' αυτό ελέγξτε τις στήλες που καλύπτονται μετά τη μετατροπή και συμπληρώστε τα κενά με κώδικα, αν ο πίνακάς σας βασίζεται σε συγχωνευμένες κεφαλίδες.

Γιατί οι αριθμοί στο JSON μου έχουν κόμματα ή σημάδια υποσημειώσεων;

Οι πίνακες του web γράφονται για αναγνώστες, οπότε ένα κελί μπορεί να γράφει 1,204,000 ή 8.3[2]. Ένας απλός αριθμός όπως το 1123 γίνεται αριθμός JSON, αλλά αυτά τα κελιά δεν είναι έγκυροι αριθμοί και μένουν συμβολοσειρές. Αφαιρέστε διαχωριστικά και παραπομπές με κώδικα πριν από οποιονδήποτε υπολογισμό.

Επιτρέπεται η εξαγωγή πίνακα από έναν ιστότοπο;

Αυτό εξαρτάται από τους όρους του ιστότοπου και από τα δεδομένα, όχι από τη μορφή αρχείου. Οι δημόσιες στατιστικές και οι δικές σας εξαγόμενες αναφορές είναι οι συνήθεις περιπτώσεις. Ελέγξτε τους όρους πριν επαναχρησιμοποιήσετε περιεχόμενο άλλου.

Μπορώ να πάρω υπολογιστικό φύλλο αντί για JSON;

Ναι. Το HTML σε CSV γράφει τον ίδιο πίνακα ως γραμμές χωρισμένες με κόμμα, που ανοίγουν στο Excel, στα Φύλλα Google ή στο Numbers.