1. Προϊόντα
  2.   Aspose.HTML
  3.   Aspose.HTML FOSS for Python

Aspose.HTML FOSS για Python

Αναλύστε το HTML σε ένα DOM βασισμένο σε πρότυπα, εφαρμόστε το CSS και υπολογίστε τα στυλ από το Python — δωρεάν, ανοιχτού κώδικα και καθαρό Python.

Βιβλιοθήκη Python ανοιχτού κώδικα για επεξεργασία HTML

Aspose.HTML FOSS for Python είναι μια δωρεάν, ανοιχτού κώδικα βιβλιοθήκη για εργασία με έγγραφα HTML σε εφαρμογές Python. Εγκαταστήστε την με μια εντολή git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git και ξεκινήστε την ανάλυση του markup σε ένα μοντέλο αντικειμένου εγγράφου, την κατασκευή και τροποποίηση δέντρων στοιχείων, την προσθήκη CSS φύλλων στυλ, την επίλυση υπολογιζόμενων στυλ και την εργασία με URLs και κωδικοποιήσεις χαρακτήρων — όλα σε καθαρό Python χωρίς εξάρτηση από πρόγραμμα περιήγησης.

Η βιβλιοθήκη εκθέτει ένα προσανατολισμένο στα πρότυπα API που βασίζεται στα HTMLDocument, Document, Element και CSSStyleSheet. Αναλύστε το markup με HTMLDocument.parse(), δημιουργήστε και συνδέστε κόμβους με Document.create_element() και append_child(), εντοπίστε στοιχεία με get_element_by_id(), μορφοποιήστε τα μέσω CSSStyleSheet.replace_sync() και της δήλωσης style σε επίπεδο στοιχείου, και διαβάστε το αποτέλεσμα με Element.get_computed_style(). Τα χαμηλότερου επιπέδου δομικά στοιχεία — ο HTML Tokenizer, ο TreeBuilder, τα URL και URLSearchParams τύπου WHATWG, και ο ανιχνευτής ροής bytes detect_encoding() — είναι διαθέσιμα όταν χρειάζεστε άμεσο έλεγχο.

Aspose.HTML FOSS είναι αδειοδοτημένο υπό την MIT και υλοποιείται σε καθαρό Python, απαιτώντας Python 3.10 ή νεότερο. Εκτελείται με τον ίδιο τρόπο σε Windows, Linux και macOS — συμπεριλαμβανομένων των CI runners, Docker containers και serverless περιβαλλοντικών. Για την οικογένεια επιχειρηματικών προϊόντων, δείτε Aspose.HTML — Enterprise Product Family.

HTML Ανάλυση και Διαχείριση DOM

  • Αναλύστε πλήρεις σελίδες με HTMLDocument.parse() ή τμήματα με HTMLDocument.parse_fragment()
  • Δομήστε έγγραφα προγραμματιστικά με Document.create_element() και append_child()
  • Αναζητήστε κόμβους με Document.get_element_by_id() και διαβάστε τα χαρακτηριστικά σήμανσης μέσω Element.get_attribute()
  • Ορίστε χαρακτηριστικά με Element.set_attribute() και εκχωρήστε κείμενο μέσω Node.text_content
  • Σειριοποιήστε οποιοδήποτε υποδέντρο πίσω σε σήμανση με τη συνάρτηση serialise()

Ποιος χρησιμοποιεί την επεξεργασία DOM

  • Υπηρεσίες backend που καθαρίζουν ή ξαναγράφουν τα HTML που υποβάλλει ο χρήστης πριν την αποθήκευση
  • Σωληνώσεις περιεχομένου που εξάγουν ή αναδιαρθρώνουν τμήματα σελίδων σε κλίμακα
  • Συλλογές δοκιμών που ελέγχουν τη δομή του παραγόμενου markup στο CI

CSS Φύλλα στυλ και Υπολογισμένα στυλ

  • Αναλύστε το κείμενο του φύλλου στυλ με CSSStyleSheet.replace_sync() και συνδέστε το μέσω Document.attach_style_sheet()
  • Ορίστε ενσωματωμένες δηλώσεις μέσω της ιδιότητας style του στοιχείου με CSSStyleDeclaration.set_property()
  • Επίλυση της αλυσίδας — ειδικότητα, κανόνες ενσωματωμένου-εναντίον-συγγραφέα, και κληρονόμηση — με Element.get_computed_style()
  • Διαβάστε τις επιλυμένες τιμές πίσω με CSSStyleDeclaration.get_property_value()

Ποιος χρησιμοποιεί τον υπολογισμό στυλ

  • Εργαλεία email και newsletter που επαληθεύουν τα αποτελεσματικά στυλ πριν την αποστολή
  • HTML καθαριστές που χρειάζεται να γνωρίζουν το στυλ που ένα στοιχείο πραγματικά αποδίδει
  • Προγραμματιστές που εντοπίζουν σφάλματα στην αλυσίδα και τη συμπεριφορά ειδικότητας εκτός προγράμματος περιήγησης

Tokenizer και Κατασκευή Δέντρου

  • Οδηγήστε τον HTML tokenizer απευθείας με Tokenizer.tokenize() ή Tokenizer.tokenize_fragment()
  • Εκτελέστε κατασκευή δέντρου βασισμένη σε πρότυπα με TreeBuilder.run()
  • Αναλύστε το markup απευθείας σε δέντρο με τη συνάρτηση parse_html()

Ποιοι χρησιμοποιούν ανάλυση χαμηλού επιπέδου

  • Linters και αναλυτές που επιθεωρούν ροές διακριτικών αντί για ολοκληρωμένα δέντρα
  • Εργαλεία που χρειάζονται προσαρμοσμένη διαχείριση σφαλμάτων κατά την αποκατάσταση εσφαλμένου σήμανσης
  • Εκπαιδευτικά έργα που μελετούν πώς λειτουργεί η ανάλυση HTML βάσει προτύπων

URLs και κωδικοποιήσεις χαρακτήρων

  • Αναλύστε και επικυρώστε URLs με URL.parse() και URL.can_parse()
  • Διαβάστε και επεξεργαστείτε αλφαριθμητικές ακολουθίες ερωτήματος με URLSearchParams — append(), get(), has(), delete()
  • Εντοπίστε κωδικοποιήσεις ροής byte (BOM και ανίχνευση περιεχομένου) με detect_encoding()
  • Κανονικοποιήστε ετικέτες κωδικοποίησης σε κανονικά ονόματα με get_canonical_name()

Ποιοι χρησιμοποιούν εργαλεία URL και κωδικοποίησης

  • Ρομπότ ανίχνευσης και λήπτες που πρέπει να επιλύουν και να αφαιρούν διπλότυπα URLs αξιόπιστα
  • Σωληνώσεις εισαγωγής που διαχειρίζονται παλαιά έγγραφα με μεικτές κωδικοποιήσεις
  • Υπηρεσίες που αναλύουν ή ξαναγράφουν παραμέτρους ερωτήματος στο διακομιστή

Δημιουργήστε ένα DOM και επιλύστε την CSS Κατάρρευση

Δημιουργήστε ένα έγγραφο, επισυνάψτε ένα φύλλο στυλ και διαβάστε το υπολογισμένο στυλ — ο επιλογέας ID υπερισχύει του κανόνα κλάσης:

from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync(".foo { color: red } #bar { color: blue }")
doc.attach_style_sheet(sheet)
style = el.get_computed_style()
print(style.get_property_value("color"))

Τα ενσωματωμένα στυλ έχουν προτεραιότητα

Οι δηλώσεις ενσωματωμένου στυλ έχουν υψηλότερη ειδικότητα από τους κανόνες του φύλλου στυλ του δημιουργού:

from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync("div { color: red }")
doc.attach_style_sheet(sheet)
inline = el.style
inline.set_property("color", "blue")
print(el.get_computed_style().get_property_value("color"))

Ανίχνευση Κωδικοποίησης Χαρακτήρων από Bytes

Ανίχνευσε την κωδικοποίηση ενός ακατέργαστου ρεύματος byte, συμπεριλαμβανομένου του BOM, και πάρε το αποκωδικοποιημένο κείμενο πίσω:

from aspose_html.encoding.detection import detect_encoding
result = detect_encoding(b"\xef\xbb\xbf<p>x</p>")
print(result.encoding)
print(result.confidence)
print(result.text)

Συχνές Ερωτήσεις

Ποια άδεια χρησιμοποιεί το Aspose.HTML FOSS for Python;

Η άδεια MIT — η εμπορική χρήση, η τροποποίηση και η αναδιανομή επιτρέπονται όλα· η μόνη απαίτηση είναι η διατήρηση της ειδοποίησης πνευματικών δικαιωμάτων με σημαντικά αντίγραφα.

Ποιες εκδόσεις του Python υποστηρίζονται, και πώς τις εγκαθιστώ;

Python 3.10 ή μεταγενέστερο. Εγκατάσταση με git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git — η υλοποίηση είναι καθαρή Python χωρίς εγγενείς εξαρτήσεις.

Πώς μπορώ να αναλύσω το HTML σε ένα έγγραφο;

Χρησιμοποιήστε HTMLDocument.parse() για πλήρεις σελίδες ή HTMLDocument.parse_fragment() για μερική σήμανση· Document είναι το εργοστάσιο για τη δημιουργία δέντρων προγραμματιστικά.

Η αλυσίδα CSS χειρίζεται σωστά την ειδικότητα και το!important;

Ναι — οι υπολογισμένες τιμές ακολουθούν την ειδικότητα του επιλεκτή, οι ενσωματωμένες δηλώσεις υπερισχύουν των κανόνων του δημιουργού, οι κανόνες του δημιουργού !important υπερισχύουν των μη-σημαντικών ενσωματωμένων δηλώσεων, και η κληρονομικότητα ρέει από τον γονέα στο παιδί.

Η βιβλιοθήκη αποδίδει σελίδες ή μετατρέπει σε άλλες μορφές;

Όχι. Η τρέχουσα έκδοση εστιάζει στην ανάλυση, τη διαχείριση DOM, τον υπολογισμό στυλ CSS, τις δομές διάταξης, τις URLs και τις κωδικοποιήσεις — χωρίς μετατροπή μορφής ή απόδοση image/PDF.

Εκτελείται αυτόματα η JavaScript κατά την ανάλυση;

Όχι. Η ανάλυση δεν εκτελεί ποτέ σενάρια· η αξιολόγηση είναι ρητή και απαιτεί συγκατάθεση μέσω JSContext με τη φόρτωση μονάδων να ελέγχεται από το ModuleRegistry και το ModuleLoadPolicy.

  

Υποστήριξη και Πόροι Μάθησης

 Ελληνικά