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, WHATWG-शैली के URL और URLSearchParams, तथा 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_content के माध्यम से टेक्स्ट असाइन करेंserialise() फ़ंक्शन का उपयोग करके किसी भी सबट्री को मार्कअप में वापस सीरियलाइज़ करेंCSSStyleSheet.replace_sync() के साथ stylesheet टेक्स्ट को पार्स करें और इसे Document.attach_style_sheet() के माध्यम से संलग्न करेंstyle प्रॉपर्टी के माध्यम से इनलाइन डिक्लेरेशन्स सेट करें CSSStyleDeclaration.set_property() का उपयोग करकेElement.get_computed_style() के साथ कास्केड को हल करें — विशिष्टता, इनलाइन-vs-ऑथर नियम, और इनहेरिटेंस —CSSStyleDeclaration.get_property_value() के साथ हल किए गए मानों को पुनः पढ़ेंTokenizer.tokenize() या Tokenizer.tokenize_fragment() के साथ चलाएँTreeBuilder.run() के साथ मानकों-आधारित ट्री निर्माण चलाएँparse_html() फ़ंक्शन के साथ मार्कअप को सीधे एक ट्री में पार्स करेंURL.parse() और URL.can_parse() के साथ URLs को पार्स और वैधता जांचेंURLSearchParams के साथ क्वेरी स्ट्रिंग पढ़ें और संपादित करें — append(), get(), has(), delete()detect_encoding() के साथ बाइट-स्ट्रीम एन्कोडिंग (BOM और कंटेंट स्निफ़िंग) का पता लगाएँget_canonical_name() के साथ एन्कोडिंग लेबल को कैनॉनिकल नामों में सामान्यीकृत करेंएक दस्तावेज़ बनाएं, एक स्टाइलशीट संलग्न करें, और गणना किया गया शैली पढ़ें — ID selector क्लास rule पर जीतता है:
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)
The MIT License — व्यावसायिक उपयोग, संशोधन, और पुनर्वितरण सभी की अनुमति है; एकमात्र आवश्यकता यह है कि महत्वपूर्ण प्रतियों में कॉपीराइट नोटिस रखा जाए।
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 स्टाइल कम्प्यूटेशन, लेआउट संरचनाओं, URLs, और एन्कोडिंग्स पर केंद्रित है — कोई फॉर्मेट कन्वर्ज़न या इमेज/PDF रेंडरिंग नहीं।
नहीं। पार्सिंग कभी स्क्रिप्ट नहीं चलाती; मूल्यांकन स्पष्ट है और JSContext के माध्यम से ऑप्ट-इन किया जाता है, जहाँ मॉड्यूल लोडिंग ModuleRegistry और ModuleLoadPolicy द्वारा नियंत्रित होती है।