> 백엔드 개발 > 파이썬 튜토리얼 > Python의 요청 모듈을 사용하여 이미지를 다운로드하는 가장 효율적인 방법은 무엇입니까?

Python의 요청 모듈을 사용하여 이미지를 다운로드하는 가장 효율적인 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-16 02:21:13
원래의
639명이 탐색했습니다.

What's the Most Efficient Way to Download Images with Python's Requests Module?

요청을 사용하여 효율적으로 이미지를 다운로드하는 방법

Python의 요청 모듈을 사용하여 웹에서 이미지를 다운로드할 때, 응답 요소. 이 문서에서는 이미지 다운로드에 어떤 속성을 활용할 것인지에 대한 질문을 다룹니다.

한 가지 접근 방식은 response.raw 파일 객체에 액세스하는 것입니다. 이 방법을 사용하면 이미지 데이터에 직접 액세스할 수 있지만 압축된 응답의 적절한 디코딩을 보장하려면 decode_content 속성을 구성해야 합니다. 이어서, quitil.copyfileobj() 함수를 사용하여 데이터를 원하는 파일로 스트리밍할 수 있습니다. 예는 다음과 같습니다.

import requests
import shutil

r = requests.get(settings.STATICMAP_URL.format(**data), stream=True)
if r.status_code == 200:
    with open(path, 'wb') as f:
        r.raw.decode_content = True
        shutil.copyfileobj(r.raw, f)  
로그인 후 복사

또는 응답을 반복하여 데이터 압축을 풀 수 있습니다. 이 방법을 사용하면 데이터가 더 작은 청크로 처리됩니다.

import requests

r = requests.get(settings.STATICMAP_URL.format(**data), stream=True)
if r.status_code == 200:
    with open(path, 'wb') as f:
        for chunk in r:
            f.write(chunk)
로그인 후 복사

Response.iter_content() 메서드를 사용하여 청크 크기를 사용자 정의할 수 있습니다.

import requests

r = requests.get(settings.STATICMAP_URL.format(**data), stream=True)
if r.status_code == 200:
    with open(path, 'wb') as f:
        for chunk in r.iter_content(1024):
            f.write(chunk)
로그인 후 복사

대상을 여는 것을 잊지 마세요 예상치 못한 변형을 방지하려면 바이너리 모드로 파일을 저장하세요. 또한 stream=True 매개변수를 설정하면 전체 이미지가 한 번에 메모리에 다운로드되는 것을 방지할 수 있습니다. 이러한 지침을 따르면 Python의 요청 모듈을 사용하여 이미지를 효율적으로 다운로드할 수 있습니다.

위 내용은 Python의 요청 모듈을 사용하여 이미지를 다운로드하는 가장 효율적인 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿