परिचय

DOM लेयर Python के लिए Aspose.HTML FOSS का कोर है। यह मानकों की तरह एक HTML पेज को मॉडल करती है — Document, Element, Text, Comment, और DocumentFragment नोड्स के पेड़ के रूप में — और आपको Python कोड से उस पेड़ को बनाने, निरीक्षण करने और पुनर्व्यवस्थित करने के ऑपरेशन देती है, बिना ब्राउज़र के लूप में।

यह पोस्ट मुख्य DOM विशेषताओं के माध्यम से चलती है: नोड्स बनाना, एट्रिब्यूट प्रबंधन, Node ऑपरेशनों के साथ सबट्रीज़ को ले जाना, फ्रैगमेंट्स का पार्सिंग, और एक बार पेड़ बन जाने पर तत्वों को फिर से ढूँढ़ना। यहाँ दिखाए गए सभी चीजें aspose-html-foss पैकेज में PyPI पर उपलब्ध हैं, MIT लाइसेंस्ड हैं, और संस्करण 3.10 या बाद के में शुद्ध Python पर चलती हैं।


मुख्य विशेषताएँ

दस्तावेज़ और तत्व बनाएं

Document नोड फ़ैक्ट्री है: तत्वों के लिए create_element(), टेक्स्ट के लिए create_text_node(), टिप्पणियों के लिए create_comment(), और हल्के कंटेनरों के लिए create_document_fragment()। नए नोड्स append_child() के साथ पेड़ में जुड़े होते हैं:

from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
doc.append_child(el)

एट्रिब्यूट प्रबंधित करें

एट्रिब्यूट्स Element.set_attribute(), get_attribute(), has_attribute() और remove_attribute() के माध्यम से राउंड-ट्रिप होते हैं। जब आपको एट्रिब्यूट नोड्स को स्ट्रिंग्स की बजाय ऑब्जेक्ट्स के रूप में चाहिए, तब Attr क्लास व्यक्तिगत एट्रिब्यूट नोड्स को मॉडल करती है:

from aspose_html.dom import Document
doc = Document()
el = doc.create_element("div")
el.set_attribute("class", "foo")
el.set_attribute("id", "bar")
doc.append_child(el)

नोड पर ट्री संचालन

प्रत्येक नोड Node से मानक ट्री टूलकिट को विरासत में प्राप्त करता है: संरचना परिवर्तन और जाँच के लिए insert_before(), remove_child(), replace_child(), clone_node() और contains(), साथ ही ट्रैवर्सल के लिए child_nodes, parent_node और first_child, और सबट्री के टेक्स्ट को पढ़ने या असाइन करने के लिए text_content. सामान्य संरचनात्मक प्रश्नों के सीधे उत्तर के लिए get_root_node() और has_child_nodes().

फ़्रैगमेंट्स और निकटवर्ती मार्कअप को पार्स करें

HTMLDocument.parse() पूर्ण पृष्ठों को संभालता है और HTMLDocument.parse_fragment() आंशिक मार्कअप को संभालता है। मौजूदा तत्व के सापेक्ष सर्जिकल इन्सर्शन के लिए, Element insert_adjacent_html(), insert_adjacent_text() और insert_adjacent_element() प्रदान करता है — मानक चार-स्थिति इन्सर्शन API। Document.import_node() और adopt_node() दस्तावेज़ों के बीच नोड्स को स्थानांतरित करते हैं।

खोजें और पुनः पढ़ें

Document.get_element_by_id() अपने id एट्रिब्यूट द्वारा एक तत्व को पुनः प्राप्त करता है। CSSOM लेयर से प्राप्त कंप्यूटेड-स्टाइल एक्सेस के साथ मिलाकर, आप यह सत्यापित कर सकते हैं कि एक सबट्री में क्या है और इसे कैसे स्टाइल किया जाएगा:

from aspose_html.dom import Document
from aspose_html.cssom import CSSStyleSheet
doc = Document()
el = doc.create_element("div")
el.set_attribute("id", "bar")
doc.append_child(el)
sheet = CSSStyleSheet()
sheet.replace_sync("#bar { color: blue }")
doc.attach_style_sheet(sheet)
style = el.get_computed_style()
print(style.get_property_value("color"))

त्वरित शुरुआत

इंस्टॉल करें PyPI से:

asposefoss/html is not yet published — build from source until it ships. See the project README for build instructions.

एक छोटा ट्री बनाएं, इसे गुणों के साथ टैग करें, और संरचना की पुष्टि करें:

from aspose_html.dom import Document

doc = Document()
container = doc.create_element("div")
container.set_attribute("id", "content")
doc.append_child(container)

child = doc.create_element("p")
container.append_child(child)

print(container.has_child_nodes())
print(doc.get_element_by_id("content").get_attribute("id"))

ओपन सोर्स & लाइसेंसिंग

Aspose.HTML FOSS for Python MIT लाइसेंस के तहत है — व्यावसायिक उपयोग, संशोधन, और पुनर्वितरण के लिए मुफ्त। कोड GitHub पर स्थित है, और रिलीज़ PyPI पर aspose-html-foss के रूप में प्रकाशित होते हैं।


शुरुआत

संबंधित संसाधन