Cách Sử Dụng Tokenizer HTML trong Python

Cách Sử Dụng Tokenizer HTML trong Python

Bộ tokenizer trong Aspose.HTML FOSS cho Python chuyển đổi markup thành một luồng các token được định nghĩa theo tiêu chuẩn — hữu ích cho các trình lint, các bước tiền xử lý sanitizer, và bất kỳ công cụ nào kiểm tra markup ở mức dưới cây. Hướng dẫn này đề cập đến các điểm vào của việc tokenizing, từ vựng token và các trạng thái, sử dụng pip để cài đặt.

Hướng Dẫn Từng Bước

Bước 1: Cài Đặt Gói

git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .

Bước 2: Nhập Các Lớp Cần Thiết

from aspose_html.tokenizer import Tokenizer, TokenizerState

Bước 3: Tokenize Markup

Tokenizer.tokenize() xử lý toàn bộ đầu vào; Tokenizer.tokenize_fragment() áp dụng các quy tắc đoạn. Dòng dữ liệu chứa các token được gõ: StartTagToken và EndTagToken (có thuộc tính), CharacterToken cho văn bản, CommentToken, DoctypeToken, và một EofToken cuối cùng.


Bước 4: Kiểm soát Trạng thái Ban đầu

TokenizerState phản chiếu máy trạng thái của đặc tả. Đối với đầu vào nhạy cảm ngữ cảnh — nội dung sẽ xuất hiện bên trong <script> hoặc <style> — hãy đặt trạng thái ban đầu phù hợp bằng Tokenizer.set_state() trước khi token hoá.


Bước 5: Giải quyết Tham chiếu Ký tự

Các tham chiếu ký tự có tên và số được giải quyết thông qua resolve_named_char_ref(), resolve_numeric_char_ref(), và find_named_char_ref_match() — dựa trên bảng tham chiếu có tên đầy đủ.

Các Vấn đề Thông thường và Cách Khắc phục

Nội dung script hoặc style được token hoá như markup. Trạng thái ban đầu không đúng cho ngữ cảnh; hãy đặt nó bằng set_state().

Các thực thể xuất hiện chưa được giải quyết trong đầu ra. Các bộ tiêu thụ văn bản thô phải chạy các bộ giải tham chiếu ký tự; việc giải quyết được thể hiện rõ ràng ở cấp độ này.

Kết quả fragment khác với việc phân tích đầy đủ. Quy tắc token hoá fragment cố ý khác nhau — use tokenize() cho tài liệu đầy đủ.

Câu hỏi thường gặp

Tôi có thể tiêu thụ token mà không xây dựng cây không?

Có — luồng token là đầu ra công khai, độc lập với việc xây dựng cây.

Các loại token nào tồn tại?

StartTagToken, EndTagToken, CharacterToken, CommentToken, DoctypeToken, và EofToken.

Các trạng thái tokenizer có phải là các trạng thái tiêu chuẩn không?

Có — TokenizerState mô phỏng máy trạng thái của đặc tả.

Xem thêm

 Tiếng Việt