code: def _extract_links_from_a_tags_in_text(self, text):
          
          soup = BeautifulSoup(text)
          links = [item['href'].strip()
                   for item in soup.find_all('a') if 'href' in item.attrs]
          links = sorted(list(set(links)))
          supplement_links = {}
  
          for link in links:
              filename, extension = os.path.splitext(clean_url(link))
              # Some courses put links to sites in supplement section, e.g.:
              # http://pandas.pydata.org/
              if extension is '':
                  continue
  
              # Make lowercase and cut the leading/trailing dot
              extension = clean_filename(
                  extension.lower().strip('.').strip(),
                  self._unrestricted_filenames)
              basename = clean_filename(
                  os.path.basename(filename),
                  self._unrestricted_filenames)
              if extension not in supplement_links:
                  supplement_links[extension] = []
              # Putting basename into the second slot of the tuple is important
              # because that will allow to download many supplements within a
              # single lecture, e.g.:
              # 01_slides-presented-in-this-module.pdf
              # 01_slides-presented-in-this-module_Dalal-cvpr05.pdf
              # 01_slides-presented-in-this-module_LM-3dtexton.pdf
              supplement_links[extension].append((link, basename))
  
          return supplement_links
docs: Extract supplement links from the html text that contains <a> tags
          with href attribute.
  
          @param text: HTML text.
          @type text: str
  
          @return: Dictionary with supplement links grouped by extension.
          @rtype: {
              '<extension1>': [
                  ('<link1>', '<title1>'),
                  ('<link2>', '<title2')
              ],
              'extension2': [
                  ('<link3>', '<title3>'),
                  ('<link4>', '<title4>')
              ]
          }