Как загрузить файл с сайта Python

Мне нужно скачать файл по ссылке https://iptvx.one/EPG, для этого я использовал вот этот код:

        r = http.urlopen('GET', url_)
        status_code = r.status
        if status_code != 200:
            result = False
        else:
            with open(path_, 'wb') as out:
                while True:
                    try:
                        data = r.read(2048)
                        if not data:
                            break
                        out.write(data)
                    except (Exception, IOError):
                        log.error("Exception occurred", exc_info=True)
                        time.sleep(20)
                    else:
                        result = True

Раньше он работал, теперь не работает, не могу понять в чем проблема.


Ответы (1 шт):

Автор решения: CrazyElf

Используйте современный вариант работы с вебом requests.get, по крайней мере через Google Colab так всё работает. Код будет примерно такой:

import requests

url_ = 'https://iptvx.one/EPG'
path_ = 'tmp.bin'

r = requests.get(url_)
if r.status_code != 200:
    result = False
else:
    with open(path_, 'wb') as out:
        try:
            out.write(r.content)
        except (Exception, IOError):
            log.error("Exception occurred", exc_info=True)
            time.sleep(20)
        else:
            result = True
→ Ссылка