From 57f783e70d64cdec9b510c7bf3ec266969c7b72d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9=20=D0=A7=D0=B5=D1=80=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=BA=D0=BE?= Date: Mon, 25 May 2026 11:34:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BD=D0=B5=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B8=20=D1=81=D0=B0=D0=B9=D1=82=D0=B0,=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parsers/parser_schedule.py | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/parsers/parser_schedule.py b/parsers/parser_schedule.py index b4de10e..0606ddb 100644 --- a/parsers/parser_schedule.py +++ b/parsers/parser_schedule.py @@ -57,13 +57,33 @@ def fetch_html(url: str) -> str: } try: - r = requests.get(url, headers=headers, timeout=20) - r.raise_for_status() - return r.text + response = requests.get(url, headers=headers, timeout=20) + response.raise_for_status() + return response.text + + except requests.exceptions.Timeout: + return "Ошибка: сайт слишком долго отвечает" + + except requests.exceptions.ConnectionError: + return "Ошибка: не удалось подключиться к сайту" + + except requests.exceptions.HTTPError as e: + return f"Ошибка HTTP: {e.response.status_code}" + + except requests.exceptions.TooManyRedirects: + return "Ошибка: слишком много редиректов" + + except requests.exceptions.InvalidURL: + return "Ошибка: неверный URL" + + except requests.exceptions.MissingSchema: + return "Ошибка: отсутствует схема URL (https://)" + + except requests.exceptions.SSLError: + return "Ошибка SSL сертификата" except requests.exceptions.RequestException as e: - return f"Сайт недоступен: {e}" - + return f"Неизвестная ошибка запроса: {e}" def normalize_status(score1: str | None, score2: str | None, dt: datetime) -> str: now = datetime.now(TZ)