code: def handle_url(url, session, res):
      
      print("Parsing", url, file=sys.stderr)
      try:
          data = getPageContent(url, session)
      except IOError as msg:
          print("ERROR:", msg, file=sys.stderr)
          return
      for match in page_matcher.finditer(data):
          page_url = match.group(1)
          page_url = urlparse.urljoin(url, page_url)
          name = format_name(match.group(2))
          if name in exclude_comics:
              continue
          if contains_case_insensitive(res, name):
              # we cannot handle two comics that only differ in case
              print("INFO: skipping possible duplicate", repr(name), file=sys.stderr)
              continue
          # find out how many images this comic has
          end = match.end()
          mo = num_matcher.search(data[end:])
          if not mo:
              print("ERROR matching number:", repr(data[end:end+300]), file=sys.stderr)
              continue
          num = int(mo.group(1))
          # search for url in extra page
          print("Getting", page_url)
          try:
              data2 = getPageContent(page_url, session)
          except IOError as msg:
              print("ERROR:", msg, file=sys.stderr)
              return
          mo = url_matcher.search(data2)
          if not mo:
              print("ERROR matching comic URL:", repr(data2[:300]), file=sys.stderr)
              continue
          comic_url = mo.group(1)
          # search for adult flag
          adult = adult_matcher.search(data2[end:])
          bounce = name not in repeat_comics
          res[name] = [
            url_overrides.get(name, comic_url), num, bool(adult), bounce
          ]
docs: Parse one search result page.