Почему urllib2.urlopen python дает мне ошибку 403?

Возможный дубликат:
Python urllib2 не работать на некоторых сайтах

Хорошо, я просто хочу получить доступ к этому URL-адресу с помощью Python: http://www.gocomics.com/wizardofid/2013/01/22

Но всякий раз, когда я вызываю urllib2.urlopen('http://www.gocomics.com/wizardofid/2013/01/22').read() выдает ошибку 403. С urllib все, что я могу сделать, это прочитать страницу с ошибкой, но urllib2 вызывает ошибку. Когда я смотрю на страницу в Chrome, это не вызывает у меня никаких проблем. Почему это так и как я могу это исправить? Спасибо!


person Tom    schedule 23.01.2013    source источник
comment
Нет, это не дубликат. Я пытался использовать пользовательский агент, это не сработало.   -  person Tom    schedule 23.01.2013
comment
По сути, @SimpleCoder, все, что я сделал, это urllib2.urlopen('gocomics .com/wizardofid/2013/01/22').read()   -  person Tom    schedule 23.01.2013
comment
@SimpleCoder и urllib.urlopen('gocomics.com/wizardofid/ 22.01.2013').read()   -  person Tom    schedule 23.01.2013


Ответы (1)


Для этого конкретного веб-сайта требуется «браузерный» заголовок User-Agent, в противном случае доступ будет запрещен.

Попробуйте добавить заголовок, например, такой:

import urllib2

opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
urllib2.install_opener(opener)
print urllib2.urlopen('http://gocomics.com/wizardofid/2013/01/22').read()
person favoretti    schedule 23.01.2013