jsoup: Ο Αнализатор HTML για Java

Κάντε scrape, καθαρίστε και χειριστείτε HTML με απλότητα τύπου jQuery σε Java

Τι είναι το jsoup;

Το jsoup είναι μια ελαφριά αλλά ισχυρή βιβλιοθήκη Java σχεδιασμένη για εργασία με πραγματικό HTML. Παρέχει μια απλή API για ανάλυση HTML από URLs, αρχεία ή strings, εξαγωγή και χειρισμό δεδομένων χρησιμοποιώντας διάσχιση DOM, επιλογείς CSS και σύγχρονες μεθόδους HTML5. Ιδανική για web scraping, εξαγωγή δεδομένων και καθαρισμό HTML, το jsoup χειρίζεται λανθασμένη σήμανση όπως θα έκανε ένας browser.

Σε αντίθεση με τις προσεγγίσεις regex, το jsoup προσφέρει ένα καθαρό μοντέλο αντικειμένων με μεθόδους εμπνευσμένες από jQuery, απλοποιώντας εργασίες όπως υποβολή φορμών, τροποποίηση ιδιοτήτων και εξαγωγή κειμένου. Χωρίς εξαρτήσεις και με άδεια MIT, είναι η αγαπημένη επιλογή για προγραμματιστές Java που χρειάζονται αξιόπιστη επεξεργασία HTML.

Κύρια πλεονεκτήματα του jsoup:

  • Χειρισμός πραγματικού HTML: Αναλύει ακατάστατο HTML όπως οι browsers
  • Σύνταξη τύπου jQuery: Οικείοι επιλογείς CSS (π.χ. doc.select("div.content"))
  • Βελτιστοποιημένο για scraping: Ακολουθεί ανακατευθύνσεις, διαχειρίζεται cookies και υποβάλλει φόρμες
  • Διαπλατφορμικό: Καθαρό Java χωρίς εγγενείς εξαρτήσεις
  • Ασφάλεια: Ενσωματωμένη προστασία XSS και καθαρισμός HTML

Ιδανικό για εξόρυξη δεδομένων, αυτοματοποίηση ιστού και ανάλυση περιεχομένου.

GitHub

Στατιστικά GitHub

Ονομα:
Γλώσσα:
Αστέρια:
Πιρούνια:
Αδεια:
Το αποθετήριο ενημερώθηκε τελευταία φορά στις

Γιατί να επιλέξετε jsoup;

  • Απλότητα: Διαισθητική API με υποστήριξη CSS επιλογέων
  • Αξιοπιστία: Συντηρείται ενεργά από το 2009
  • Απόδοση: Βελτιστοποιημένο για ροές και μεγάλα έγγραφα
  • Ευελιξία: Λειτουργεί με θραύσματα, αρχεία ή live URLs
  • Καθαρή έξοδος: Μορφοποιεί και αναδομεί HTML

Εγκατάσταση

Προσθέστε το jsoup μέσω Maven ή Gradle:

Maven



    org.jsoup
    jsoup
    1.17.2


Gradle


implementation 'org.jsoup:jsoup:1.17.2'

Απαιτήσεις συστήματος: Java 8+

Παραδείγματα Κώδικα

Πρακτικές περιπτώσεις χρήσης του jsoup:

Ανάλυση HTML με jsoup

Παράδειγμα 1: Ανάλυση εγγράφου από string

Αν έχετε HTML σε Java string και θέλετε να το αναλύσετε για να πάρετε το περιεχόμενό του ή να το τροποποιήσετε, το jsoup μπορεί να το κάνει με λίγες γραμμές κώδικα.

Η μέθοδος parse(String html, String baseUri) μετατρέπει το HTML εισόδου σε νέο Document. Η παράμετρος baseUri βοηθά στην επίλυση σχετικών URLs σε απόλυτα και πρέπει να αντιστοιχεί στο URL από όπου ανακτήθηκε το έγγραφο. Αν αυτό δεν είναι σχετικό ή αν το HTML περιέχει στοιχείο <base>, μπορείτε να χρησιμοποιήσετε την απλούστερη μέθοδο parse(String html).

Παράδειγμα 2: Χρήση CSS επιλογέων για εύρεση στοιχείων

Θέλετε να βρείτε ή να χειριστείτε στοιχεία χρησιμοποιώντας CSS επιλογείς. Αναλύστε και τροποποιήστε ένα HTML string απευθείας:

Παράδειγμα 3: Τροποποίηση HTML ενός στοιχείου

Χρειάζεστε να τροποποιήσετε το HTML ενός στοιχείου. Χρησιμοποιήστε τις μεθόδους ορισμού HTML στο Element όπως φαίνεται στο παρακάτω παράδειγμα:

Προηγμένες Λειτουργίες

Το jsoup υποστηρίζει επαγγελματική επεξεργασία HTML:

  • Χειρισμός φορμών: Αποστολή POST δεδομένων:

    Υποβολή Φόρμας

    
        Connection.Response res = Jsoup.connect("https://example.com/login")
            .data("username", "user", "password", "pass")
            .method(Connection.Method.POST)
            .execute();
        Document dashboard = res.parse();
        
    
  • Υποστήριξη proxy: Scraping μέσω proxy:

    Διαμόρφωση Proxy

    
        Document doc = Jsoup.connect("https://target.com")
            .proxy("127.0.0.1", 8080)
            .get();
        
    
  • Χειρισμός DOM: Τροποποίηση δομής HTML:

    Αλλαγές DOM

    
        doc.select("div.ads").remove(); // Αφαιρεί όλες τις διαφημίσεις
        doc.select("h1").attr("class", "header"); // Προσθέτει CSS κλάση
        
    

jsoup vs. HTMLUnit

Κύριες διαφορές:

  • Εστίαση: Το jsoup αναλύει στατικό HTML· το HTMLUnit προσομοιώνει browsers (εκτέλεση JavaScript)
  • Ταχύτητα: Το jsoup είναι ταχύτερο για καθαρή ανάλυση HTML
  • Στυλ API: Το jsoup χρησιμοποιεί CSS επιλογείς· το HTMLUnit μιμείται το Selenium
  • Περιπτώσεις χρήσης: jsoup για scraping· HTMLUnit για δοκιμές δυναμικών σελίδων
  • Εξαρτήσεις: Το jsoup δεν έχει· το HTMLUnit απαιτεί πρόσθετες βιβλιοθήκες

Συμπέρασμα

Το jsoup είναι το απόλυτο εργαλείο για προγραμματιστές Java που εργάζονται με HTML. Ιδανικό για:

  • Web scraping: Εξαγωγή δεδομένων από οποιοδήποτε site
  • Καθαρισμό δεδομένων: Απολύμανση και κανονικοποίηση HTML
  • Ανάλυση περιεχομένου: Ανάλυση RSS feeds ή web αρχείων
  • Δοκιμές: Επαλήθευση δομής HTML σε εφαρμογές

Με άδεια MIT και διαισθητική API, το jsoup είναι η κορυφαία επιλογή για επεξεργασία HTML σε Java.

Παρόμοια Προϊόντα

 Ελληνικά