docs: def get_html(url,
               headers=None,
               timeout=None,
               errors="strict",
               wait_time=None,
               driver=None,
               zillow_only=False,
               cache_only=False,
               zillow_first=False,
               cache_first=False,
               random=False,
               **kwargs):
      """
      Use Google Cached Url.
  
      :param cache_only: if True, then real zillow site will never be used.
      :param driver: selenium browser driver。
      """
      if wait_time is None:
          wait_time = Config.Crawler.wait_time
  
      # prepare url
      cache_url1 = prefix + url + "/"
      cache_url2 = prefix + url
      zillow_url = url
  
      only_flags = [zillow_only, cache_only]
      if sum(only_flags) == 0:
          first_flags = [zillow_first, cache_first]
          if sum(first_flags) == 0:
              if random:
                  if randint(0, 1):
                      all_url = [zillow_url, cache_url1, cache_url2]
                  else:
                      all_url = [cache_url1, cache_url2, zillow_url]
              else:
                  all_url = [zillow_url, cache_url1, cache_url2]
          elif sum(first_flags) == 1:
              if zillow_first:
                  all_url = [zillow_url, cache_url1, cache_url2]
              elif cache_first:
                  all_url = [cache_url1, cache_url2, zillow_url]
          else:
              raise ValueError(
                  "Only zero or one `xxx_first` argument could be `True`!")
  
      elif sum(only_flags) == 1:
          if zillow_only:
              all_url = [zillow_url, ]
          elif cache_only:
              all_url = [cache_url1, cache_url2]
  
      else:
          raise ValueError(
              "Only zero or one `xxx_only` argument could be `True`!")
  
      for url in all_url:
          try:
              html = _get_html(url, headers, timeout, errors,
                               wait_time, driver, **kwargs)
              return html
          except Exception as e:
              pass
      raise e