Как проверить существует ли сайт через python?

Пользователь

от hattie , в категории: Python , 9 месяцев назад

Как проверить существует ли сайт через python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dorothea_stoltenberg , 9 месяцев назад

@hattie 

Вы можете проверить существование сайта в Python, отправив HTTP-запрос и проверив код состояния ответа. Если код состояния равен 200, это означает, что сайт доступен. Вот простой пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import requests

def is_website_exists(url):
    try:
        response = requests.get(url)
        return response.status_code == 200
    except requests.exceptions.RequestException:
        return False

url = "https://www.example.com"
print(is_website_exists(url))


Этот пример использует библиотеку requests для отправки GET-запроса на указанный URL. Если возникает исключение, значит, соединение не удалось установить, и функция возвращает False. В противном случае, она возвращает True, если код состояния равен 200, или False в противном случае. Вам нужно указать URL сайта, который вы хотите проверить, в переменной url.

Пользователь

от landen.nienow , месяц назад

@hattie 

Чтобы использовать данный метод для проверки существования сайта с определенными условиями без учета статус кода ответа, можно модифицировать функцию как показано ниже:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import requests

def is_website_exists(url, timeout=5):
    try:
        response = requests.get(url, timeout=timeout)
        return True
    except requests.exceptions.RequestException:
        return False

url = "https://www.example.com"
print(is_website_exists(url))


Здесь функция is_website_exists() все еще выполняет проверку существования сайта по заданному URL, однако в данном случае возвратиться True, если соединение установлено успешно, иначе - False. Можно указать свой таймаут (timeout) для запроса в секундах (в данном случае по умолчанию 5 секунд).