2013-02-19 4 views
4

Двухдневный новичок в Python (и программирование), поэтому, пожалуйста, будьте нежны.Конвертировать короткий URL-адрес

У меня около 1500 сокращенных URL, очищенных от Twitter. Все они находятся в следующем формате: http://t.co/ ...

Используя эту функцию, чтобы развернуть короткий URL:

import urllib2 
a = urllib2.urlopen('http://t.co/..') 
print a.url 

Последние две строки повторяются около 1500 различных раз с разными URL.

Он работает хорошо, пока страница, на которую указывает URL-адрес, однако, когда она отсутствует, появляется сообщение об ошибке, и она останавливается в этой точке. Что я добавляю к коду, чтобы он возвращал «страницу не найден» и переходит к следующему URL-адресу и проходит через весь список без остановки.

ответ

2

Предполагая, что вы используете Python 2 (Python 3 имеет немного другой синтаксис для обработки исключений)

for url in urls: 
    try: 
     a = urllib2.urlopen(url) 
    except urllib2.HTTPError, e: 
     print "Error", e 
     continue 

..... do something with a 
+0

Премного, будет пытаться это, как только я вернусь из классов, и пусть вы знаете, как она идет. – user2087765

+0

Работает как очарование, спасибо! – user2087765

+0

Угадайте, что я говорил слишком рано, я все еще получаю сообщения об ошибках, которые останавливают процесс от завершения. Какие-либо предложения? Это то, что я получаю, или, по крайней мере, первые несколько строк сообщения об ошибке: Traceback (последний последний звонок): Файл «/Users/Nanu/Documents/urltest.py», строка 969, в a = urllib2 .urlopen (url) Файл «/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py», строка 126, в urlopen return _opener.open (url, data, timeout) – user2087765

Смежные вопросы