code: def is_downloadable(self, response):
          '''
          Checks whether the response object is a html page
          or a likely downloadable file.
          Intended to detect error pages or prompts
          such as kaggle's competition rules acceptance prompt.
  
          Returns True if the response is a html page. False otherwise.
          '''
  
          content_type = response.headers.get('Content-Type', '')
          content_disp = response.headers.get('Content-Disposition', '')
  
          if 'text/html' in content_type and 'attachment' not in content_disp:
              # This response is a html file
              # which is not marked as an attachment,
              # so we likely hit a rules acceptance prompt
              return False
          return Truf is_downloadable(self, response):
          '''
          Checks whether the response object is a html page
          or a likely downloadable file.
          Intended to detect error pages or prompts
          such as kaggle's competition rules acceptance prompt.
  
          Returns True if the response is a html page. False otherwise.
          '''
  
          content_type = response.headers.get('Content-Type', '')
          content_disp = response.headers.get('Content-Disposition', '')
  
          if 'text/html' in content_type and 'attachment' not in content_disp:
              # This response is a html file
              # which is not marked as an attachment,
              # so we likely hit a rules acceptance prompt
              return False
          return True
docs: Checks whether the response object is a html page
          or a likely downloadable file.
          Intended to detect error pages or prompts
          such as kaggle's competition rules acceptance prompt.
  
          Returns True if the response is a html page. False otherwise.