Python: Extraction de données spécifiques avec analyseur html

J'ai commencé à utiliser le HTMLParser en Python pour extraire des données à partir d'un site web.
Je reçois tout ce que je voulais, à l'exception du texte dans les deux balises de HTML.
Voici un exemple de la balise HTML:

<a href="http://wold.livingsources.org/vocabulary/1" title="Swahili" class="Vocabulary">Swahili</a>

Il y a aussi d'autres balises de départ . Ils ont d'autres attributs et de valeurs, et donc je ne veux pas avoir leurs données:

<a href="http://wold.livingsources.org/contributor#schadebergthilo" title="Thilo Schadeberg" class="Contributor">Thilo Schadeberg</a>

La balise est une balise imbriquée à l'intérieur d'un tableau. Je ne sais pas si cela fait une différence entre les autres balises.
Je veux seulement l'information dans certains des balises " a " avec l'attribut class="Vocabulaire" et je veux que les données à l'intérieur de la balise, dans l'exemple, il serait "Swahili".
Donc, ce que j'ai fait est:

class AllLanguages(HTMLParser):
    '''
    classdocs
    '''
    #counter for the languages
    #countLanguages = 0
    def __init__(self):
        HTMLParser.__init__(self)
        self.inLink = False
        self.dataArray = []
        self.countLanguages = 0
        self.lasttag = None
        self.lastname = None
        self.lastvalue = None
        #self.text = ""


    def handle_starttag(self, tag, attr):
        #print "Encountered a start tag:", tag      
        if tag == 'a':
            for name, value in attr:
                if name == 'class' and value == 'Vocabulary':
                    self.countLanguages += 1
                    self.inLink = True
                    self.lasttag = tag
                    #self.lastname = name
                    #self.lastvalue = value
                    print self.lasttag
                    #print self.lastname
                    #print self.lastvalue
                    #return tag
                    print self.countLanguages




    def handle_endtag(self, tag):
        if tag == "a":
            self.inlink = False
            #print "".join(self.data)

    def handle_data(self, data):
        if self.lasttag == 'a' and self.inLink and data.strip():
            #self.dataArray.append(data)
            #
            print data

Le programme imprime toutes les données qui est inclus dans une balise, mais je ne veux celui inclus dans la balise avec les bons attributs.
Comment puis-je obtenir ces données spécifiques?

OriginalL'auteur IssnKissn | 2013-05-27