Sort by

recency

|

179 Discussions

|

  • + 0 comments

    I was stuck during 10 minutes because I got "None" value in my output... Because this is the return value of the parse function if nothing...

    Nevermind, I finally fix this problem.

    Here the code :

    from html.parser import HTMLParser
    
    N = int(input())
    
    class MyHTMLParser(HTMLParser):
        def handle_starttag(self, tag, attrs):
            print("Start :", tag)
            if attrs:
                for element in attrs:
                    attribute_name = element[0]
                    attribute_value = element[1]
                    print(f"-> {attribute_name} > {attribute_value}")
    
        def handle_endtag(self, tag):
            print("End   :", tag)
    
        def handle_startendtag(self, tag, attrs):
            print("Empty :", tag)
            if attrs:
                for element in attrs:
                    attribute_name = element[0]
                    attribute_value = element[1]
                    print(f"-> {attribute_name} > {attribute_value}")
    
    
    parser = MyHTMLParser()
    
    for _ in range(N):
        current_line = input()
        if parser.feed(current_line):
            print(parser.feed(current_line))
    
  • + 0 comments

    I need to follow number of different spaces when printing the output. ~~~

    from html.parser import HTMLParser

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

    def handle_endtag(self, tag):
        print("End   :", tag)
    
    def handle_startendtag(self, tag, attrs):
        print("Empty :", tag)
        for attr in attrs:
           print("->", attr[0], ">", attr[1])
    

    parser = MyHTMLParser() n = int(input()) for _ in range(n): s = input()

    parser.feed(s)
    

    ~~~

  • + 0 comments
    from html.parser import HTMLParser
    
    class myHTMLParser(HTMLParser):
        def __init__(self):
            super().__init__()
            N = int(input())
            for _ in range(N):
                html_text = input()
                self.feed(html_text)
    
        def handle_starttag(self, tag, attrs):
            print("Start :", tag)
            for name, value in attrs:
                print("->", name, ">", value)
    
        def handle_endtag(self, tag):
            print("End   :", tag)
    
        def handle_startendtag(self, tag, attrs):  
            print("Empty :", tag)
            for name, value in attrs:
                print("->", name, ">", value)
                  
    parser = myHTMLParser()
    
  • + 0 comments

    Here is HackerRank HTML Parser - Part 1 in Python solution - https://programmingoneonone.com/hackerrank-html-parser-part-1-solution-in-python.html

  • + 0 comments
    1. from html.parser import HTMLParser
      1. class MyHTMLParser(HTMLParser):
    2. def handle_starttag(self , tag , attrs):
    3. print("Start :",tag)
    4. for name,value in attrs:
    5. print(f"-> {name} > {value}")
      1. def handle_endtag(self,tag):
    6. print("End :", tag)
      1. def handle_startendtag(self,tag,attrs):
    7. print("Empty :",tag)
    8. for name,value in attrs:
    9. print(f"-> {name} > {value}")
      1. parser = MyHTMLParser()
    10. for i in range(int(input())):
    11. parser.feed(input())