title: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
body: <p>I am trying to make a crawler in python by following an udacity course. I have this method <code>get_page()</code> which returns the content of the page.</p>
  
  <pre><code>def get_page(url):
      '''
      Open the given url and return the content of the page.
      '''
  
      data = urlopen(url)
      html = data.read()
      return html.decode('utf8')
  </code></pre>
  
  <p>the original method was just returning <code>data.read()</code>, but that way I could not do operations like <code>str.find()</code>. After a quick search I found out I need to decode the data. But now I get this error</p>
  
  <blockquote>
    <p>UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position
    1: invalid start byte</p>
  </blockquote>
  
  <p>I have found similar questions in SO but none of them were specifically for this. Please help.</p>