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.
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)