כיצד להשתמש במפצל HTML ב-Python

כיצד להשתמש במפצל 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 מדמה את מכונת המצבים של המפרט.

ראה גם

 עברית