الأسئلة المتكررة

الأسئلة المتكررة

التراخيص والمصدر المفتوح

ما الرخصة التي يستخدمها 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"))

هل يتعامل cascade مع التخصيص و !important بشكل صحيح؟

نعم. القيم المحسوبة تتبع خصوصية المحدد (ID يتفوق على class يتفوق على type)، التصريحات المضمّنة تتفوق على قواعد المؤلف، و!important قواعد المؤلف تتفوق على التصريحات المضمّنة غير المهمة. الوراثة تنتقل من الأب إلى الابن للخصائص القابلة للوراثة.

هل يمكنني استخدام tokenizer و tree builder مباشرةً؟

نعم — Tokenizer.tokenize() يولّد تدفق الرموز وفق المعايير، TreeBuilder.run() ينفّذ بناء الشجرة، وparse_html() يضمّ كامل خط الأنابيب في استدعاء واحد.

كيف أتعامل مع عناوين URL وترميزات الأحرف؟

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.

انظر أيضاً

 العربية