কম্পিউটার

পাইথনে হাইপারটেক্সট মার্কআপ ভাষা সমর্থন?


html.parser মডিউলে HTMLParser ক্লাসের মাধ্যমে HTML ফাইলগুলিকে প্রক্রিয়া করার ক্ষমতা পাইথনের রয়েছে। এটি 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

  1. OpenCV দিয়ে পাইথনে লাইন সনাক্তকরণ?

  2. enum - পাইথনে গণনার জন্য সমর্থন

  3. পাইথনে কমান্ড লাইন ইন্টারফেস প্রোগ্রামিং?

  4. পাইথন ক্লাস ব্রাউজার সমর্থন