Urllib2 в python: не получается получить страницу, как в таком случае перейти к следующей странице?

Получаю страницу в python следующим образом:

for x in range(1, 10):
   response = urllib2.urlopen("http://site.com/id="+str(x))
   page = response.read()

Иногда случаются такие проблемы, что страницу не получается получить. Как в таком случае перейти к следующей странице?

Т.е., допустим, пытаемся получить страницу site.com/id=3, но она не отвечает. Как перейти дальше к странице site.com/id=4?
  • Вопрос задан
  • 2859 просмотров
Пригласить эксперта
Ответы на вопрос 2
SolidlSnake
@SolidlSnake
Ваш дружелюбный сосед
Если выдает исключение - ловите его try\except'ом, тогда программа не будет прерываться.
Ответ написан
Комментировать
Vintorez
@Vintorez
У вас есть 2 варианта:
1. Перед отправкой get-запроса отправлять head-запрос с целью проверить какой код вернется (в этом случае исключение не вызывается).
2. Ловить исключение отправки get-запроса, как сказал @SolidlSnake блоками try/except.

Довольно понятные примеры на оба этих варианта приведены вот здесь:
stackoverflow.com/a/16778473
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы