요청을 사용하여 효율적으로 이미지를 다운로드하는 방법
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!