שאלות נפוצות
רישוי וקוד פתוח
איזו רישיון משתמש 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 ומכולות.
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"))האם הקסקדה מתמודדת עם ספציפיות ו-!important בצורה נכונה?
כן. ערכים מחושבים פועלים לפי ספציפיות של בורר (ID גובר על class, class גובר על type), הצהרות inline גוברות על כללי המחבר, ו-!important כללי המחבר גומרים על הצהרות inline שאינן important. הירושה זורמת מהורה לילד עבור תכונות שניתן לרשת.
האם אני יכול להשתמש ישירות ב-tokenizer וב-tree builder?
כן — Tokenizer.tokenize() מפיק את זרם הטוקנים של הסטנדרטים, TreeBuilder.run() מבצע בניית עץ, ו-parse_html() עוטף את כל הצינור בקריאה אחת.
איך אני עובד עם URLs וקידודי תווים?
URL.parse() ו-URL.can_parse() מספקים טיפול ב-URL בסגנון WHATWG עם URLSearchParams למחרוזות השאילתה. עבור בתים גולמיים, detect_encoding() מחזיר את הקידוד, רמת בטחון, וטקסט מפוענח.
מגבלות ידועות
האם קיימים APIs שנמצאים אך לא מיושמים?
מספר קטן של חברים הוגדרים אך אינם פעילים כרגע, כולל CSSRule.type, CSSRule.css_text ו-HTMLImageElement.decode. הקובץ limitations.md במודל הידע עוקב אחרי אלו; יש להימנע מהסתמכות עליהם.
האם הספרייה מציגה דפים או ממירה לפורמטים אחרים?
לא. הגרסה הנוכחית מתמקדת בניתוח, מניפולציית DOM, חישוב סגנון CSS, מבני פריסה, כתובות URL וקידודים. היא אינה כוללת המרת פורמטים או רינדור של תמונות/PDF.
האם JavaScript מתבצע אוטומטית במהלך הניתוח?
לא. הניתוח לעולם אינו מריץ סקריפטים. הערכת סקריפטים היא מפורשת ובחירה מרצון דרך JSContext, כאשר טעינת המודול נשלטת על ידי ModuleRegistry ו-ModuleLoadPolicy.