Header Ad

HackerRank Detect HTML Tags, Attributes and Attribute values solution in python

In this Detect HTML, Tags Attributes and Attributes values problem, You are given an HTML code snippet of N lines. Your task is to detect and print all the HTML tags, attributes and attribute values.

HackerRank Detect HTML Tags, Attributes and Attribute values solution in python


Problem solution in Python 2 programming.

import re
num_lines = input()
lines = [raw_input() for i in xrange(num_lines)]
text = ' '.join(lines)
text = re.sub(r'<!--.*?-->', '', text, flags=re.DOTALL)

from HTMLParser import HTMLParser
class Parser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        print tag
        for name, val in attrs:
            print '->', name, '>', val

Parser().feed(text)



Problem solution in Python 3 programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT
from html.parser import HTMLParser
class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        print(tag)
        [print('-> {} > {}'.format(*attr)) for attr in attrs]
        
html = '\n'.join([input() for _ in range(int(input()))])
parser = MyHTMLParser()
parser.feed(html)
parser.close()


Problem solution in pypy programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT
from HTMLParser import HTMLParser

class parseHTML(HTMLParser):
    def handle_starttag(self, tag, attrs):
        print tag
        for attr in attrs:
            print "->", attr[0], ">", attr[1]

parser = parseHTML()
for _ in xrange(input()):
    parser.feed(raw_input())


Problem solution in pypy3 programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT

from html.parser import HTMLParser


class MyHTMLParser(HTMLParser):
    def handle_starttag(self,tag, attrs):
        print(tag)
        for i in attrs:
            print("->",i[0],">",i[1])
        
    def handle_startendtag(self,tag, attrs):
        print(tag)
        for i in attrs:
            print("->",i[0],">",i[1])


N=int(input())
tmp=""
for _ in range(N):
    tmp=tmp+input()+"\n"
    

    
psr=MyHTMLParser()
psr.feed(tmp)


Post a Comment

0 Comments