import sgmllib

class MyParser(sgmllib.SGMLParser):
    "A simple parser class."

    def parse(self, s):
        "Parse the given string 's'."
        self.feed(s)
        self.close()

    def __init__(self, verbose=0):
        "Initialise an object, passing 'verbose' to the superclass."

        sgmllib.SGMLParser.__init__(self, verbose)
        self.hyperlinks = []
        self.descriptions = []
        self.inside_a_element = 0

    def start_a(self, attributes):
        "Process a hyperlink and its 'attributes'."

        for name, value in attributes:
            if name == "href":
                self.hyperlinks.append(value)
                self.inside_a_element = 1

    def end_a(self):
        "Record the end of a hyperlink."

        self.inside_a_element = 0

    def handle_data(self, data):
        "Handle the textual 'data'."

        if self.inside_a_element:
            self.descriptions.append(data)

    def get_hyperlinks(self):
        "Return the list of hyperlinks."

        return self.hyperlinks

    def get_descriptions(self):
        "Return a list of descriptions."

        return self.descriptions

import urllib, sgmllib

# Get something to work with.
target = raw_input('Please enter the site to scan: ')
checktarget=target[-4:]


if checktarget=="html" or checktarget=="htm":

    f = urllib.urlopen(target)
    s = f.read()


    # Try and process the page.
    # The class should have been defined first, remember.
    myparser = MyParser()
    myparser.parse(s)

    # Get the hyperlinks.
    hyper= myparser.get_hyperlinks()
    for i in hyper:
        print i

else:
    print ("Please enter a site that end with .html or .htm")
 
    






