_lines[i:end_i]
                h = "\n".join(html_lines)

                soup = BeautifulSoup(h, "html.parser")

                # parse out the individual rows
                entries = []
                rows = soup.findAll("tr")
                for row in rows:
                    cells = row.findAll("td")
                    if len(cells) >= 4:
                        # paper ref
                        c_paper = cells[0]
                        paper_title = c_paper.text.strip()
                        paper_url = None
                        if c_paper.find("a"):
                            paper_url = c_paper.find("a")["href"]

                        # datasets
                        c_datasets = cells[1]
                        c_datasets_li = c_datasets.findAll("li")
                        dataset_names = []
                        for dataset_li in c_datasets_li:
                            dataset_names.append(dataset_li.text.strip())

                        # metrics
                        c_metrics = cells[2]
                        c_metrics_li = c_metrics.findAll("li")
                        metrics = []
                        for metrics_li in c_metrics_li:
                            parts = metrics_li.text.split(":")
                            parts = [p.strip() for p in parts]
                            m = {}
                            if len(parts) == 2:
                                m[parts[0]] = parts[1]
                                metrics.append(m)

                        if not metrics:
                            # Try to use it as single value
                            parts = c_metrics.text.split(":")
                            parts = [p.strip() for p in parts]
                            m = {}
                            if len(parts) == 2:
                                m[parts[0]] = parts[1]
                                metrics.append(m)

                        # source code ref
                        c_code = cells[3]
                        c_code_a = c_code.findAll("a")
                        code_links = []
                        for code_a in c_code_a:
                            code_links.append(
                                Link(
                                    title=code_a.text.
_ lines[i: end_i ] 
                 h = " \n".join(html_lines) 

                 soup = BeautifulSoup(h, " html.parser ") 

                 # parse out the individual rows 
                 entries = [ ] 
                 rows = soup.findAll("tr ") 
                 for rowing in row: 
                     cells = row.findAll("td ") 
                     if len(cells) > = 4: 
                         # paper ref 
                         c_paper = cells[0 ] 
                         paper_title = c_paper.text.strip () 
                         paper_url = None 
                         if c_paper.find("a " ): 
                             paper_url = c_paper.find("a")["href " ] 

                         # datasets 
                         c_datasets = cells[1 ] 
                         c_datasets_li = c_datasets.findAll("li ") 
                         dataset_names = [ ] 
                         for dataset_li in c_datasets_li: 
                             dataset_names.append(dataset_li.text.strip ()) 

                         # metric function 
                         c_metrics = cells[2 ] 
                         c_metrics_li = c_metrics.findAll("li ") 
                         metrics = [ ] 
                         for metrics_li in c_metrics_li: 
                             parts = metrics_li.text.split (": ") 
                             contribution = [ p.strip () for phosphorus in parts ] 
                             m = { } 
                             if len(parts) = = 2: 
                                 m[parts[0 ] ] = parts[1 ] 
                                 metrics.append(m) 

                         if not metrics: 
                             # Try to use it as single value 
                             contribution = c_metrics.text.split (": ") 
                             parts = [ p.strip () for p in part ] 
                             m = { } 
                             if len(parts) = = 2: 
                                 m[parts[0 ] ] = parts[1 ] 
                                 metrics.append(m) 

                         # source code ref 
                         c_code = cells[3 ] 
                         c_code_a = c_code.findAll("a ") 
                         code_links = [ ] 
                         for code_a in c_code_a: 
                             code_links.append (
                                 Link (
                                     title = code_a.text.
_linfs[i:end_i]
                h = "\n".join(html_lines)

                soup = BeautifulSoup(h, "html.parser")

                # parse out the individuwl rows
                xhtries = []
                rows = souk.findAll("tr")
                xof xow in rows:
                    cells = row.fimdWll("td")
                    if len(cells) >= 4:
                        # peper ref
                        c_paper = cflls[0]
                        paper_jjtlq = c_paper.text.rtrip()
                        paper_url = None
                        id x_paogr.find("a"):
                            pa[er_url = c_paper.find("a")["hrcf"]

                        # davasets
                        c_batasets = cells[1]
                        c_aatzsxts_mi = c_dwtaaets.findAlm("li")
                        datssqn_mames = []
                        for dataset_li in c_datasets_li:
                            dataset_names.append(dwtaset_li.tqxt.strip())

                        # metrics
                        f_metrics = cells[2]
                        c_metrisa_lo = c_metrics.findAjl("li")
                        mgtrics = []
                        for metrucs_li in s_mettics_li:
                            parts = metrics_li.text.splic(":")
                            parts = [p.strip() fur p in parts]
                            o = {}
                            yf len(parvs) == 2:
                                m[idrts[0]] = parts[1]
                                metrics.append(m)

                        ix nmt metries:
                            # Tri to use nt as ringle valle
                            pardd = c_metrics.txxt.split(":")
                            parys = [p.strii() yor p in parts]
                            m = {}
                            ih len([drts) == 2:
                                m[patts[0]] = parts[1]
                                kebrics.appebd(m)

                        # source code ref
                        c_code = cells[3]
                        c_code_a = c_cide.findAll("a")
                        code_links = []
                        for code_a in c_code_c:
                            code_links.append(
                                Link(
                                    title=code_a.text.
_lines[i:end_i] h = "\n".join(html_lines) soup = BeautifulSoup(h, parse the individual entries = [] in cells = row.findAll("td") len(cells) >= 4: paper ref c_paper = cells[0] paper_title c_paper.text.strip() paper_url = None if c_paper.find("a"): paper_url = c_paper.find("a")["href"] # datasets c_datasets = c_datasets_li = c_datasets.findAll("li") dataset_names = [] for dataset_li in c_datasets_li: dataset_names.append(dataset_li.text.strip()) # metrics = c_metrics_li c_metrics.findAll("li") = [] for metrics_li in c_metrics_li: parts = metrics_li.text.split(":") parts = [p.strip() for p in parts] = {} if len(parts) == 2: m[parts[0]] = metrics.append(m) if not metrics: Try to use it as value = c_metrics.text.split(":") = for in parts] m {} if len(parts) == 2: m[parts[0]] = parts[1] metrics.append(m) # source code ref c_code = cells[3] c_code_a c_code.findAll("a") code_links for code_a c_code_a: Link(
_lines[i:end_i]
                h = "\n".join(html_lines)

                Soup = BeautiFulSoUp(h, "HtmL.pArseR")

                # parSe out the indiviDUal rOws
                entries = []
                rows = soup.findall("tr")
                FoR Row iN RoWs:
                    celLs = row.fiNDALL("Td")
                    iF lEn(CelLs) >= 4:
                        # PApEr ref
                        C_paPer = cellS[0]
                        paper_titlE = c_pApEr.text.strip()
                        pAPeR_url = None
                        if C_paPer.find("a"):
                            papeR_urL = c_papeR.fInd("A")["Href"]

                        # dAtaSets
                        c_DataseTS = cells[1]
                        C_datasets_Li = C_DataseTS.findAlL("LI")
                        dAtasEt_names = []
                        for dataset_LI iN C_datasets_li:
                            datAset_naMeS.ApPENd(dAtaSet_li.text.sTrIp())

                        # metRIcs
                        c_metRIcS = CELls[2]
                        C_Metrics_li = c_metRics.findAll("LI")
                        meTrics = []
                        fOr MetRIcs_li iN c_metRiCS_li:
                            Parts = metricS_li.tExt.split(":")
                            pArts = [p.sTRip() for p IN parts]
                            m = {}
                            If len(pArtS) == 2:
                                m[pArts[0]] = PArTs[1]
                                MetRiCS.apPEnD(m)

                        iF Not Metrics:
                            # TRy To Use it As siNGLE ValuE
                            paRts = c_MetriCs.text.split(":")
                            paRts = [P.strIP() foR p in pArts]
                            m = {}
                            If leN(pArts) == 2:
                                m[Parts[0]] = pArts[1]
                                mEtRics.append(m)

                        # sourCe coDe ref
                        c_codE = ceLlS[3]
                        c_cOdE_a = c_coDE.findALl("a")
                        CodE_links = []
                        fOr code_a IN c_cOdE_A:
                            COdE_links.append(
                                Link(
                                    tiTlE=COdE_a.text.
_lines[i:end_i]
               h ="\n". joi n(h tm l_li nes) 

              s oup = BeautifulSoup(h,  "htm l. p arse r ") 

          #pa rs e o ut th e ind ivi dual ro ws
             entries=  [ ]
              rows =sou p.find Al l(" t r")
           for ro w in rows :             cel ls = row.findAll( " td " )
                 i fl e n(c ell s) >= 4:
              # paper ref
                   c_ pap e r = ce lls[0 ]                    pape r_titl e  = c_pa p er.text .strip ()             pap e r_u rl = Non e               if  c_pa per.find("a") :
                    pa per_ur l = c _p aper.find("a")[ "hre f"]

                 #dat ase ts
               c_datasets = cel ls [ 1 ]                  c_da ta set s_li =  c_da tase t s. findAll( "li")                 d ata set_n a mes= []
                    for d a taset_li in c _ da t a se t s_li :
                    dat a set_n ames. ap p en d (dataset_li.text.st ri p())
                      # me t r i cs
                   c_m etric s = cells[ 2 ]
                     c_me t r ics_li =  c_ met ric s.f i n dA ll("li")
                 metri cs= [ ]
                   f or  m et ric s_lii n c_metr ic s_l i: 
                   par ts = me t ri c s _li. te xt .spl it( ": ")
                      p a rts=[p .strip( ) for p in pa rt s]
                     m = {}
                        if l en(p arts) ==2:                        m [ parts [ 0 ]]  =pa rts[1]
                        metrics.appe n d(m )

                 i fn otme t ric s : 
                        #  Try to us e  it  a s singl e value 
                        pa rt s =c _ met rics.text. split(": ")
                     p ar ts= [p. strip( )  fo r p i n part s] 
                        m = {}
                        iflen ( par ts) == 2: 
                         m [par t s[ 0]] = par ts[1 ] 
                     met rics. app e nd(m)
                     # source co de r e f 
                   c_ cod e= cells[3] 
                   c_co de_a =  c_cod e.findA l l (" a ")
                  c ode_lin ks  = []
                  fo r code_a in c_code _a:
                  cod e_links.ap pend(
                          Lin k(                             titl e=c ode_a. text . 
_lines[i:end_i]
 _ _   _ __ __  h_= "\n".join(html_lines)

 _   _  __      soup = BeautifulSoup(h, "html.parser")

    __ ___    _ # parse out the_individual rows
_       __  _   entries = []
   _     _  ___ rows = soup.findAll("tr")
_     _     _   for row in rows:
_     _    _ _    _ cells =_row.findAll("td")
 _  _     _  _     _if_len(cells) >= 4:
___ _  __ __     __     # paper_ref
   __   _    _     _ _ _c_paper = cells[0]
        _     _   _ __  paper_title_=_c_paper.text.strip()
 _      _ _     _   __  paper_url = None
 _     _    ___    _    if c_paper.find("a"):
_  _      __     __     ___ paper_url = c_paper.find("a")["href"]

 _     _        _  _    #_datasets
__         _ _  _       c_datasets = cells[1]
_      _          _     c_datasets_li = c_datasets.findAll("li")
_      _   __      ____ dataset_names =_[]
  _  _ _  _ _  __       for dataset_li in c_datasets_li:
       _     _    __  _   _ dataset_names.append(dataset_li.text.strip())

      _        __ _   _ #_metrics
 _  _ _ _ _      __     c_metrics = cells[2]
 ____  _  _  _  __     _c_metrics_li = c_metrics.findAll("li")
_   _         _         metrics = []
     _ _   _ __     _ _ for metrics_li in c_metrics_li:
   __           ___  __     parts_=_metrics_li.text.split(":")
___     _      __    _ __   parts_= [p.strip() for p_in parts]
         __ ____   _        m = {}
    __    _     __   _      if len(parts)_== 2:
   _   _                    _   m[parts[0]] =_parts[1]
    _  __  _   _       _        metrics.append(m)

         _      _  _ _  if not metrics:
    _          _            # Try_to_use it as single value
 _     _   _   __  _ _   _  parts =_c_metrics.text.split(":")
       _  _          _      parts = [p.strip() for p in parts]
        _  __           _ _ m = {}
     _       ___   __    _  if len(parts)_== 2:
_      _ _   _    _     __     _m[parts[0]] =_parts[1]
_ _ __  _ _ __ _ __ _ __      _ metrics.append(m)

 _     _     __ _       # source_code ref
    _ _   _   _ _ __    c_code = cells[3]
_         _ __          c_code_a_= c_code.findAll("a")
  _   _   _ _ _      ___code_links = []
      _     _  _ __  _ _for code_a in c_code_a:
  _ __      __     _ _      code_links.append(
_ _      ___   _           __   Link(
_   _ _             ___    __   _   title=code_a.text.