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 url_matcher.finditer(data):
          url = match.group(1) + '/'
          name = unescape(match.group(2))
          name = asciify(name.replace('&', 'And').replace('@', 'At'))
          name = capfirst(name)
          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:", repr(data[end:end+300]), file=sys.stderr)
              continue
          num = int(mo.group(1))
          url = url_overrides.get(name, url)
          try:
              if "/d/" not in url:
                  check_robotstxt(url+"d/", session)
              else:
                  check_robotstxt(url, session)
          except IOError:
              print("INFO: robots.txt denied for comicgenesis", repr(name))
              continue
          else:
              res[name] = (url, num)
docs: Parse one search result page.