title: Problem HTTP error 403 in Python 3 Web Scraping
body: <p>I was trying to <strong>scrape</strong> a website for practice, but I kept on getting the HTTP Error 403 (does it think I'm a bot)?</p>
  <p>Here is my code:</p>
  <pre><code>#import requests
  import urllib.request
  from bs4 import BeautifulSoup
  #from urllib import urlopen
  import re
  
  webpage = urllib.request.urlopen('http://www.cmegroup.com/trading/products/#sortField=oi&amp;sortAsc=false&amp;venues=3&amp;page=1&amp;cleared=1&amp;group=1').read
  findrows = re.compile('&lt;tr class=&quot;- banding(?:On|Off)&gt;(.*?)&lt;/tr&gt;')
  findlink = re.compile('&lt;a href =&quot;&gt;(.*)&lt;/a&gt;')
  
  row_array = re.findall(findrows, webpage)
  links = re.finall(findlink, webpate)
  
  print(len(row_array))
  
  iterator = []
  </code></pre>
  <p>The error I get is:</p>
  <pre><code> File &quot;C:\Python33\lib\urllib\request.py&quot;, line 160, in urlopen
      return opener.open(url, data, timeout)
    File &quot;C:\Python33\lib\urllib\request.py&quot;, line 479, in open
      response = meth(req, response)
    File &quot;C:\Python33\lib\urllib\request.py&quot;, line 591, in http_response
      'http', request, response, code, msg, hdrs)
    File &quot;C:\Python33\lib\urllib\request.py&quot;, line 517, in error
      return self._call_chain(*args)
    File &quot;C:\Python33\lib\urllib\request.py&quot;, line 451, in _call_chain
      result = func(*args)
    File &quot;C:\Python33\lib\urllib\request.py&quot;, line 599, in http_error_default
      raise HTTPError(req.full_url, code, msg, hdrs, fp)
  urllib.error.HTTPError: HTTP Error 403: Forbidden
  </code></pre>