code: def _parse_a_tags(cls, dic):
          
          props = {}
  
          if 'a' in dic:
              childs = dic['a']
              # If there is only one "a", it's not presentend as
              # a list, that's why we put it in a list
              if not isinstance(childs, (list, tuple)):
                  childs = [childs]
          else:
              childs = []
  
          for child in childs:
              k = child[cls.ATTRNAME_PROPERTY]
              try:
                  v = child['_content']
              except KeyError:
                  v = None
  
              try:
                  v = utils.auto_type(str(v))
              except UnicodeEncodeError:
                  # Some times, str() fails because of accents...
                  v = utils.auto_type(v)
  
              if k in props:
                  prev_v = props[k]
                  if type(prev_v) != list:
                      props[k] = [prev_v]
  
                  props[k].append(v)
  
              else:
                  props[k] = v
          return props
docs: Iterates over all <a> tags and builds a dict with those.
          If a tag with same "n" attributes appears several times, the
          dict value is a list with the tags values, else it's a string.
  
          :param: dic the dict describing the tag
          :returns:   a dict