code: def start_element (self, tag, attrs):
          
          log.debug(LOG_CHECK, "LinkFinder tag %s attrs %s", tag, attrs)
          log.debug(LOG_CHECK, "line %d col %d old line %d old col %d", self.parser.lineno(), self.parser.column(), self.parser.last_lineno(), self.parser.last_column())
          if tag == "base" and not self.base_ref:
              self.base_ref = attrs.get_true("href", u'')
          tagattrs = self.tags.get(tag, self.universal_attrs)
          # parse URLs in tag (possibly multiple URLs in CSS styles)
          for attr in tagattrs.intersection(attrs):
              if tag == "meta" and not is_meta_url(attr, attrs):
                  continue
              if tag == "form" and not is_form_get(attr, attrs):
                  continue
              # name of this link
              name = self.get_link_name(tag, attrs, attr)
              # possible codebase
              base = u''
              if tag  == 'applet':
                  base = attrs.get_true('codebase', u'')
              if not base:
                  base = self.base_ref
              # note: value can be None
              value = attrs.get(attr)
              if tag == 'link' and attrs.get('rel') == 'dns-prefetch':
                  if ':' in value:
                      value = value.split(':', 1)[1]
                  value = 'dns:' + value.rstrip('/')
              # parse tag for URLs
              self.parse_tag(tag, attr, value, name, base)
          log.debug(LOG_CHECK, "LinkFinder finished tag %s", tag)
docs: Search for links and store found URLs in a list.