Aspose.HTML FOSS for Python هي مكتبة مجانية ومفتوحة المصدر للعمل مع مستندات HTML في تطبيقات Python. قم بتثبيتها بأمر git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git واحد وابدأ في تحليل العلامات إلى نموذج كائن المستند، بناء وتعديل أشجار العناصر، إرفاق أوراق الأنماط CSS، حل الأنماط المحسوبة، والعمل مع عناوين URL وترميزات الأحرف — كل ذلك في Python نقي دون الاعتماد على المتصفح.
تكشف المكتبة عن API موجهة للمعايير مبنية حول HTMLDocument، Document، Element، و CSSStyleSheet. حلل العلامات باستخدام HTMLDocument.parse()، أنشئ وربط العقد باستخدام Document.create_element() و append_child()، ابحث عن العناصر باستخدام get_element_by_id()، نمّها عبر CSSStyleSheet.replace_sync() وإعلان style على مستوى العنصر، واقرأ النتيجة مرة أخرى باستخدام Element.get_computed_style(). اللبنات الأساسية منخفضة المستوى — الـ HTML Tokenizer، و TreeBuilder، و URL و URLSearchParams بنمط WHATWG، وكاشف تدفق البايتات detect_encoding() — متوفرة عندما تحتاج إلى تحكم مباشر.
Aspose.HTML FOSS مرخصة تحت رخصة MIT ومُنفذة في Python نقي، تتطلب Python 3.10 أو أحدث. تعمل بنفس الطريقة على Windows و Linux و macOS — بما في ذلك مشغلات CI وحاويات Docker والبيئات الخالية من الخوادم. لعائلة منتجات المؤسسة، راجع Aspose.HTML — Enterprise Product Family.
HTMLDocument.parse() أو القطع باستخدام HTMLDocument.parse_fragment()Document.create_element() و append_child()Document.get_element_by_id() وقراءة سمات العلامة عبر Element.get_attribute()Element.set_attribute() وتعيين النص عبر Node.text_contentserialise()CSSStyleSheet.replace_sync() وأرفقه عبر Document.attach_style_sheet()style باستخدام CSSStyleDeclaration.set_property()Element.get_computed_style()CSSStyleDeclaration.get_property_value()Tokenizer.tokenize() أو Tokenizer.tokenize_fragment()TreeBuilder.run()parse_html()URL.parse() و URL.can_parse()URLSearchParams — append(), get(), has(), delete()detect_encoding()get_canonical_name()أنشئ مستندًا، أرفق ورقة أنماط، واقرأ النمط المحسوب — محدد الـ ID يتفوق على قاعدة الفئة:
from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync(".foo { color: red } #bar { color: blue }")
doc.attach_style_sheet(sheet)
style = el.get_computed_style()
print(style.get_property_value("color"))
الإعلانات المضمنة تحمل أولوية أعلى من قواعد ورقة الأنماط الخاصة بالمؤلف:
from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync("div { color: red }")
doc.attach_style_sheet(sheet)
inline = el.style
inline.set_property("color", "blue")
print(el.get_computed_style().get_property_value("color"))
اكتشف الترميز لتدفق بايتات خام، بما في ذلك BOM، واحصل على النص المفكك مرةً أخرى:
from aspose_html.encoding.detection import detect_encoding
result = detect_encoding(b"\xef\xbb\xbf<p>x</p>")
print(result.encoding)
print(result.confidence)
print(result.text)
رخصة MIT — السماح بالاستخدام التجاري، والتعديل، وإعادة التوزيع جميعًا؛ الشرط الوحيد هو الحفاظ على إشعار حقوق النشر مع النسخ الجوهرية.
Python 3.10 أو أحدث. قم بالتثبيت باستخدام git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git — التنفيذ هو Python خالص بدون اعتماديات أصلية.
استخدم HTMLDocument.parse() للصفحات الكاملة أو HTMLDocument.parse_fragment() للعلامات الجزئية؛ Document هو المصنع لبناء الأشجار برمجياً.
نعم — القيم المحسوبة تتبع خصوصية المحدد، التصريحات المضمنة تتفوق على قواعد المؤلف، قواعد المؤلف !important تتفوق على التصريحات المضمنة غير المهمة، والوراثة تتدفق من الأب إلى الطفل.
لا. يركز الإصدار الحالي على التحليل، وتلاعب DOM، وحساب نمط CSS، وهياكل التخطيط، وعناوين URL، والترميزات — لا تحويل صيغ أو عرض الصور/PDF.
لا. لا يقوم التحليل بتشغيل النصوص البرمجية؛ التقييم صريح ويتطلب الموافقة من خلال JSContext مع تحميل الوحدة المتحكم به بواسطة ModuleRegistry و ModuleLoadPolicy.