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

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

Barbara Streisand
Barbara Streisand원래의
2024-12-16 02:21:13721검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.