code: def _get_data(url):
      
      if urllib_parse.urlparse(url).scheme in ('http', 'https'):
          resp = urllib_request.urlopen(url)
          encoding = resp.headers.get('content-encoding', 'plain')
          data = resp.read()
          if encoding == 'plain':
              data = data.decode('utf-8')
          elif encoding == 'gzip':
              data = BytesIO(data)
              data = gzip.GzipFile(fileobj=data).read().decode('utf-8')
          else:
              raise RuntimeError('unknown encoding')
      else:
          with codecs.open(url, mode='r', encoding='utf-8') as fid:
              data = fid.read()
  
      return data
docs: Helper function to get data over http(s) or from a local file