[파이썬] requests 프로그레스 바와 함께 파일 다운로드

파일 다운로드는 웹 개발에서 매우 중요한 부분입니다. 이번 블로그에서는 requests 라이브러리를 사용하여 프로그레스 바와 함께 파일 다운로드를 처리하는 방법을 알아보겠습니다.

1. requests 라이브러리 설치하기

다음 명령어를 사용하여 requests 라이브러리를 설치합니다:

pip install requests

2. 파일 다운로드 함수 작성하기

다음과 같이 download_file 함수를 작성하여 파일을 다운로드하고 프로그레스 바를 표시할 수 있습니다:

import requests
from tqdm import tqdm

def download_file(url, save_path):
    response = requests.get(url, stream=True)
    total_size = int(response.headers.get('content-length', 0))
    block_size = 1024  # 1 Kibibyte

    # 프로그레스 바를 초기화합니다
    progress_bar = tqdm(total=total_size, unit='iB', unit_scale=True)

    with open(save_path, 'wb') as file:
        for data in response.iter_content(block_size):
            # 다운로드하는 데이터를 파일에 씁니다
            file.write(data)

            # 프로그레스 바 업데이트
            progress_bar.update(len(data))

    # 프로그레스 바를 완료 상태로 표시합니다
    progress_bar.close()

3. 파일 다운로드하기

이제 download_file 함수를 사용하여 파일을 다운로드할 수 있습니다. 아래 예제에서는 이미지 파일을 다운로드하고 /path/to/save/image.jpg 경로에 저장합니다:

download_file('https://example.com/image.jpg', '/path/to/save/image.jpg')

위 코드에서 https://example.com/image.jpg 부분은 다운로드할 파일의 URL을 나타내며, /path/to/save/image.jpg 부분은 저장될 파일의 경로를 나타냅니다. 실제 다운로드할 파일의 URL과 저장될 파일의 경로를 적절히 수정하여 사용하시면 됩니다.

요약

이렇게 하면 requests 라이브러리와 tqdm 라이브러리를 사용하여 프로그레스 바와 함께 파일을 다운로드할 수 있습니다. 이를 활용하여 웹 개발 프로젝트에서 파일 다운로드 기능을 구현해보세요!