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

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

Αδειοδότηση & Ανοιχτός Κώδικας

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

Η βιβλιοθήκη κυκλοφορεί υπό την άδεια MIT. Το πλήρες κείμενο αποστέλλεται ως το LICENSE αρχείο στο αποθετήριο GitHub.

Μπορώ να το χρησιμοποιήσω σε εμπορικά προϊόντα;

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

Εγκατάσταση & Απαιτήσεις

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

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

Υπάρχουν εγγενείς εξαρτήσεις;

Όχι. Η υλοποίηση είναι καθαρή Python — χωρίς μηχανή προγράμματος περιήγησης, χωρίς μεταγλωττισμένα επεκτάματα — έτσι συμπεριφέρεται ταυτόσημα σε Windows, Linux και macOS, συμπεριλαμβανομένων των CI runners και των containers.

API Usage

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

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

from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)

Πώς εφαρμόζω το CSS και διαβάζω το προκύπτον στυλ;

Αναλύστε το κείμενο του φύλλου στυλ με το CSSStyleSheet.replace_sync(), συνδέστε το με το Document.attach_style_sheet() και διαβάστε το επιλυμένο αποτέλεσμα με το Element.get_computed_style():

from aspose_html.cssom import CSSStyleSheet
sheet = CSSStyleSheet()
sheet.replace_sync("#bar { color: blue }")
doc.attach_style_sheet(sheet)
print(el.get_computed_style().get_property_value("color"))

Η αλυσίδα (cascade) χειρίζεται σωστά τη συγκεκριμενοποίηση και το !important;

Ναι. Οι υπολογιζόμενες τιμές ακολουθούν τη συγκεκριμενοποίηση του επιλογέα (το ID υπερισχύει της κλάσης, η κλάση υπερισχύει του τύπου), οι ενσωματωμένες δηλώσεις υπερισχύουν των κανόνων του author, και οι !important κανόνες του author υπερισχύουν των μη-σημαντικών ενσωματωμένων δηλώσεων. Η κληρονομικότητα ρέει από το γονιό στο παιδί για τις κληρονομήσιμες ιδιότητες.

Μπορώ να χρησιμοποιήσω απευθείας τον tokenizer και τον tree builder;

Ναι — Tokenizer.tokenize() εκδίδει τη ροή token του προτύπου, TreeBuilder.run() εκτελεί την κατασκευή δέντρου, και parse_html() τυλίγει ολόκληρο το pipeline σε μία κλήση.

Πώς να δουλέψω με URLs και κωδικοποιήσεις χαρακτήρων;

URL.parse() και URL.can_parse() παρέχουν διαχείριση URL σε στυλ WHATWG με URLSearchParams για τα query strings. Για ακατέργαστα bytes, το detect_encoding() επιστρέφει την κωδικοποίηση, ένα επίπεδο εμπιστοσύνης και το αποκωδικοποιημένο κείμενο.

Γνωστοί περιορισμοί

Υπάρχουν API που είναι παρόντα αλλά δεν έχουν υλοποιηθεί;

Μικρός αριθμός μελών έχει δηλωθεί αλλά δεν είναι επί του παρόντος λειτουργικά, συμπεριλαμβανομένων των CSSRule.type, CSSRule.css_text και HTMLImageElement.decode. Το αρχείο limitations.md στο μοντέλο γνώσης παρακολουθεί αυτά· αποφύγετε να βασίζεστε σε αυτά.

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

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

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

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

Δείτε επίσης

 Ελληνικά