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

Python의 요청 모듈을 사용하여 이미지 다운로드 문제를 해결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-21 08:24:11164검색

How to Fix Image Download Issues Using Python's Requests Module?

요청 모듈을 사용한 이미지 다운로드 문제 해결

질문:

이미지를 다운로드하는 동안 Python의 요청 모듈을 사용하여 아래 코드 실패:

r = requests.get(settings.STATICMAP_URL.format(**data))
if r.status_code == 200:
    img = r.raw.read()
    with open(path, 'w') as f:
        f.write(img)

문제를 식별하고 해결 방법을 제안할 수 있습니까?

답변:

요청 모듈을 사용하여 이미지를 다운로드하려면 , response.raw 파일 객체를 활용하거나 응답을 반복할 수 있습니다. 접근 방식은 다음과 같습니다.

response.raw 사용:

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)

이 접근 방식은 압축된 응답의 압축을 강제로 풀고 quitil.copyfileobj()를 사용하여 데이터를 스트리밍합니다. 파일 객체.

반복 응답:

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)

이 접근 방식을 사용하면 데이터가 압축 해제되고 128바이트 청크로 데이터를 읽습니다. Response.iter_content() 메소드를 사용하여 청크 크기를 사용자 정의할 수 있습니다.

추가 참고 사항:

  • 대상 파일을 바이너리 모드('wb')로 엽니다. ) 개행 번역을 방지합니다.
  • 전체 이미지를 로드하지 않으려면 stream=True로 설정하세요. 추억.

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

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