पायथन में html.parser मॉड्यूल में HTMLParser वर्ग के माध्यम से HTML फ़ाइलों को संसाधित करने की क्षमता है। यह एचटीएमएल टैग की प्रकृति का पता लगा सकता है और टैग के कई अन्य गुणों को टैग कर सकता है। इसमें ऐसे कार्य हैं जो एक HTML फ़ाइल में मौजूद डेटा को पहचान और प्राप्त कर सकते हैं।
नीचे दिए गए उदाहरण में हम देखते हैं कि कस्टम पार्सर क्लास बनाने के लिए HTMLParser क्लास का उपयोग कैसे करें, जो केवल उन टैग्स और डेटा को प्रोसेस कर सकता है जिन्हें हम क्लास में परिभाषित करते हैं। यहां हम स्टार्ट टैग, एंड टैग और डेटा को प्रोसेस कर रहे हैं।
नीचे html है जिसे पायथन कस्टम पार्सर द्वारा संसाधित किया जा रहा है।
उदाहरण
<html> <br> <head> <br> <title>welcome to Tutorials Point!</title> <br> </head> <br> <body> <br> <h1>Learn anything !</h1> <br> </body> <br> </html>
नीचे वह प्रोग्राम है जो उपरोक्त फ़ाइल को पार्स करता है और फिर कस्टम पार्सर के अनुसार परिणाम आउटपुट करता है।
उदाहरण
from html.parser import HTMLParser import io class Custom_Parser(HTMLParser): def handle_starttag(self, tag, attrs): print("Line and Offset ==", HTMLParser.getpos(self)) print("Encountered a start tag:", tag) def handle_endtag(self, tag): print("Line and Offset ==", HTMLParser.getpos(self)) print("Encountered an end tag :", tag) def handle_data(self, data): print("Line and Offset ==", HTMLParser.getpos(self)) print("Encountered some data :", data) parser = Custom_Parser() stream = io.open("E:\\test.html", "r") parser.feed(stream.read())
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Line and Offset == (1, 0) Encountered a start tag: html Line and Offset == (1, 6) Encountered some data : Line and Offset == (2, 0) Encountered a start tag: head Line and Offset == (2, 6) Encountered some data : Line and Offset == (3, 0) Encountered a start tag: title Line and Offset == (3, 7) Encountered some data : welcome to Tutorials Point! Line and Offset == (3, 34) Encountered an end tag : title Line and Offset == (3, 42) Encountered some data : Line and Offset == (4, 0) Encountered an end tag : head Line and Offset == (4, 7) Encountered some data : Line and Offset == (5, 0) Encountered a start tag: body Line and Offset == (5, 6) Encountered some data : Line and Offset == (6, 0) Encountered a start tag: h1 Line and Offset == (6, 4) Encountered some data : Learn anything ! Line and Offset == (6, 20) Encountered an end tag : h1 Line and Offset == (6, 25) Encountered some data : Line and Offset == (7, 0) Encountered an end tag : body Line and Offset == (7, 7) Encountered some data : Line and Offset == (8, 0) Encountered an end tag : html