Если вы используете print error
вместо print error.read()
, вы увидите, что вы получаете HTTP 403 «Запрещенный» ответ от сервера.
Очевидно, что этот сервер не любит запросы без заголовка пользовательского агента (или ему не нравится заголовок Python, потому что он не хочет запрашиваться из скрипта). Вот обходной путь:
user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)" # Or any valid user agent from a real browser
headers = {"User-Agent": user_agent}
req = urllib2.Request(url, headers=headers)
res = urllib2.urlopen(req)
print res.read()