Использование библиотеки запросов, чтобы проверить, работает ли URL-адрес, но получение неожиданного результата?

#url #web-scraping #beautifulsoup #python-requests

Вопрос:

Я некоторое время использовал приведенную ниже функцию, и она всегда работала, однако сегодня, когда я ввел этот URL-адрес, этого не произошло. В последнее время я часто просматриваю этот сайт (но с уважением), как вы думаете, мой IP-адрес был заблокирован?

 def server_online(url): 
    """Returns True if host responds to a ping request, else False"""
    try:
        headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1'}
        result = requests.get(url, headers=headers)
        if result.status_code == 200: 
            return True 
    except:   
        return False 
    return False
 

А затем, когда я запускаю функцию с этой ссылкой на приведенное ниже соответствие:

 server_online('https://www.oddschecker.com/football/world-cup-european-qualifiers/cyprus-v-croatia/winner')
 

Я получаю результат «ложно», когда он должен (и обычно является) «истинным»

Комментарии:

1. Какой код состояния возвращается? Осмотрите result объект — это может дать вам ключ к разгадке.

2. Ваш код дает 403 код статуса.

3. Спасибо, ребята, кто-нибудь знает, как это обойти?