Как скачать репозиторий Github с помощью request python

у меня появилась проблема... Мне надо скачивать весь репозиторий в формате zip (сам гитхаб даёт мне эту ссылку https://github.com/{user}/{repository_name}/archive/refs/heads/main.zip) Но при попытке получить контент по этой ссылке при помощи request.get python меня откровенно посылает. Помогите пожалуйста


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

Автор решения: Andy Pavlov

Github использует редиректы при скачивании файла. Это надо учитывать при запросе файла с помощью опции allow_redirects=True

import requests

def download_file(url):
    local_filename = url.split('/')[-1]
    with requests.get(url, stream=True, allow_redirects=True) as r:
        r.raise_for_status()
        with open(local_filename, 'wb') as f:
            for chunk in r.iter_content(chunk_size=8192): 
                f.write(chunk)
    return local_filename

filename = download_file('https://github.com/ndrwpvlv/pyyadisk/archive/refs/heads/main.zip')
print(filename)

Код скачивания взял отсюда: https://stackoverflow.com/questions/16694907/download-large-file-in-python-with-requests

→ Ссылка