কম্পিউটার টিউটোরিয়াল

পাইথনে html.parser - সিম্পল HTML এবং XHTML পার্সার


এই মডিউলে ডিফাইন করা HTMLParser ক্লাস HTML এবং XHTML ডকুমেন্ট পার্স করার ফাংশনালিটি প্রদান করে। এই ক্লাসে হ্যান্ডলার মেথড রয়েছে যা ট্যাগ, ডেটা, কমেন্ট এবং অন্যান্য HTML এলিমেন্ট আইডেন্টিফাই করতে পারে।

আমাদের একটি নতুন ক্লাস ডিফাইন করতে হবে যা HTMLParser ক্লাসকে ইনহেরিট করে এবং feed() মেথড ব্যবহার করে HTML টেক্সট সাবমিট করতে হবে।

from html.parser import HTMLParser
class parser(HTMLParser):
    pass
p = parser()
p.feed('')

আমাদের নিচের মেথডগুলো ওভাররাইড করতে হবে:

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('')

আউটপুট

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 = '''

    
        

Tutorialspoint

Python standard library

HTML module

''' 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_starttag()-এর সাথে সাদৃশ্য, কিন্তু যখন পার্সার XHTML-স্টাইল খালি ট্যাগ (পাইথনে html.parser - সিম্পল HTML এবং XHTML পার্সার) এনকাউন্টার করে তখন কল করা হয়।

handle_comment(data)

যখন একটি কমেন্ট এনকাউন্টার করা হয় (যেমন ) তখন এই মেথডটি কল করা হয়।


  1. HTML <b> ট্যাগ

  2. HTML <address> ট্যাগ

  3. HTML <dl> ট্যাগ

  4. পাইথনে সিম্পল ইন্টারেস্ট (Simple Interest) ক্যালকুলেটর