כיצד להשתמש במפצל HTML ב-Python
המפצל ב-Aspose.HTML FOSS עבור Python ממיר סימון לזרם של אסימונים המוגדרים לפי תקנים — שימושי לבודקי קוד (linters), שלבי קדם של מנקה (sanitizer), ולכל כלי שבוחן סימון מתחת לרמת העץ. מדריך זה מכסה את נקודות הכניסה למפצלים, אוצר המילים של האסימונים והמצבים, תוך שימוש ב-pip להתקנה.
מדריך שלב-אחר-שלב
שלב 1: התקנת החבילה
git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .שלב 2: ייבא את המחלקות הדרושות
from aspose_html.tokenizer import Tokenizer, TokenizerStateשלב 3: הפקת אסימונים מהסימון
Tokenizer.tokenize() מעבד קלט שלם; Tokenizer.tokenize_fragment() מיישם כללי קטעים. הזרם מכיל טוקנים מסוג: StartTagToken ו-EndTagToken (עם תכונות), CharacterToken לטקסט, CommentToken, DoctypeToken, ו-EofToken סופי.
שלב 4: שליטה במצב הראשוני
TokenizerState משקף את מכונת המצבים של המפרט. עבור קלט רגיש להקשר — תוכן שהיה מופיע בתוך <script> או <style> — קבע את מצב ההתחלה המתאים עם Tokenizer.set_state() לפני הטוקניזציה.
שלב 5: פתרון הפניות תו
הפניות תו בשם ובמספר נפתרות דרך resolve_named_char_ref(), resolve_numeric_char_ref() ו-find_named_char_ref_match() — בתמיכה של טבלת ההפניות בשם המלאה.
בעיות נפוצות ופתרונות
תהליך ה-Script או ה-style מתמטז כסימון markup. המצב הראשוני היה שגוי עבור ההקשר; קבע אותו באמצעות set_state().
ה-Entities מופיעים ללא פתרון בפלט. צרכני טקסט גולמי חייבים להריץ את character-reference resolvers; הפתרון מפורש ברמה זו.
פלט ה-Fragment שונה מניתוח מלא. כללי הטוקניזציה של Fragment שונים במכוון — השתמש ב tokenize() עבור מסמכים מלאים.
שאלות נפוצות
האם אני יכול לצרוך אסימונים ללא בניית עץ?
כן — זרם האסימונים הוא פלט ציבורי, בלתי תלוי בבניית העץ.
אילו סוגי אסימונים קיימים?
StartTagToken, EndTagToken, CharacterToken, CommentToken, DoctypeToken, ו-EofToken.
האם מצבי ה-tokenizer הם הסטנדרטיים?
כן — TokenizerState מדמה את מכונת המצבים של המפרט.