इस मॉड्यूल में परिभाषित HTMLParser वर्ग HTML और XHMTL दस्तावेज़ों को पार्स करने के लिए कार्यक्षमता प्रदान करता है। इस वर्ग में हैंडलर विधियां हैं जो टैग, डेटा, टिप्पणियों और अन्य HTML तत्वों की पहचान कर सकती हैं।
हमें एक नए वर्ग को परिभाषित करना है जो HTMLParser वर्ग को इनहेरिट करता है और फ़ीड () पद्धति का उपयोग करके HTML टेक्स्ट सबमिट करता है।
from html.parser import HTMLParser class parser(HTMLParser): pass p = parser() p.feed('<a href = "www.tutorialspoint.com"></a>')
हमें इसके निम्नलिखित तरीकों को ओवरराइड करना होगा
handle_starttag(tag, attrs):
HTML टैग्स आमतौर पर स्टार्टिंग टैग और एंड टैग के जोड़े में होते हैं। उदाहरण के लिए
और । टैग की शुरुआत को संभालने के लिए इस विधि को कहा जाता है।टैग का नाम लोअर केस में बदला गया। attrs तर्क टैग के <> कोष्ठक के अंदर पाई जाने वाली विशेषताओं के लिए है।
उदाहरण के लिए, टैग के लिए , पार्सर ऑब्जेक्ट को फीड किया जाता है।
from html.parser import HTMLParser class parser(HTMLParser): def handle_starttag(self, tag, attrs): print("Start tag:", tag) for attr in attrs: print(" attr:", attr) p = parser() p.feed('<a href = "www.tutorialspoint.com">')
आउटपुट
Start tag: a attr: ('href', 'www.tutorialspoint.com') handle_endtag(tag):
इस विधि को किसी तत्व के अंतिम टैग को संभालने के लिए कहा जाता है।
def handle_endtag(self, tag): print ("end tag",tag) handle_data(data):
टैग के बीच मनमानी डेटा को संसाधित करने के लिए इस विधि को कहा जाता है। उदाहरण के लिए:
def handle_data(self, data): print (data) p = parser() html = ''' <html> <body> <h1>Tutorialspoint</h1> <b>Python standard library</b> <p>HTML module</p> </body> </html>''' p.feed(html)
आउटपुट
Start tag: h1 Tutorialspoint end tag h1 Start tag: b Python standard library end tag b Start tag: p HTML module end tag p
HTMLParser वर्ग में अन्य विधियाँ इस प्रकार हैं:
get_starttag_text()
सबसे हाल ही में खोले गए प्रारंभ टैग का पाठ लौटाएं।
getpos()
वर्तमान लाइन नंबर और ऑफ़सेट लौटाएं।
handle_startendtag(tag, attrs)
हैंडल_स्टार्टटैग () के समान, लेकिन जब पार्सर का सामना एक्सएचटीएमएल-शैली के खाली टैग () से होता है, तो उसे कॉल किया जाता है।
handle_comment(data)
इस विधि को तब कहा जाता है जब कोई टिप्पणी आती है (उदा. )।