title: Python3 urllib image retreval
body: <p>I'm writing a small Python script to grab images via google images. I've managed to get things up to the point where I have the urls of the images I want in a handy list. Now, I just need to grab them...</p>
  
  <p>for each image url i do this:</p>
  
  <pre><code>    print("Retrieving:{0}".format(sFinalImageURL))
      sExt = sFinalImageURL.split('.')[-1]
      #u = urllib.request.urlopen(sFinalImageURL)
      try:
          u = urllib.request.urlopen(sFinalImageURL)
      except:
          print("error: cannot retrieve image")
          continue
      raw_data = u.read()
      print("read {0} bytes".format(len(raw_data)))
      u.close()
      global sImagesFolder
      try:
          f = open("{0}/{1}_{2}.{3}".format(sImagesFolder,sImage,i,sExt),'wb')
          f.write(raw_data)
          f.close()
      except:
          print("couldn't write to {0}/{1}_{2}.{3}".format(sImagesFolder,sImage,i,sExt))
      print()
  </code></pre>
  
  <p>Here are the problems I'm coming up against:</p>
  
  <p>trying to open some off the URLs gives me 403 even though I can open the URLs straight in my browser. So there's something in the HTTP request header that the image server doesn't like... any ideas?</p>
  
  <p>Here's some of the output:</p>
  
  <pre><code>Retrieving:http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Timba%2B1.jpg/220px-Timba%2B1.jpg
  
  error: cannot retrieve image
  
  Retrieving:http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/YellowLabradorLooking_new.jpg/260px-YellowLabradorLooking_new.jpg
  
  error: cannot retrieve image
  Retrieving:http://1.bp.blogspot.com/-7SsJ1n3RdoA/Tf07NOgD5nI/AAAAAAAAABo/tl8qLLIU01Y/s1600/english-shepherd-dog-0003.jpg
  
  read 11123 bytes
  
  Retrieving:http://completedogfood.net/wp-content/uploads/2010/07/complete-dog-food.bmp
  read 419630 bytes
  </code></pre>