[python] Requests 라이브러리를 이용해 스트림 데이터를 처리하는 방법은?

스트림 데이터란 서버가 데이터를 조금씩 전송하는 방식으로 데이터를 처리하는 것을 말합니다. 큰 파일을 다운로드하거나 스트리밍 서비스를 사용할 때 등 다양한 경우에 사용됩니다.

requests 라이브러리를 사용하여 스트림 데이터를 처리하는 방법은 다음과 같습니다:

import requests

url = 'https://example.com/streaming_data'
response = requests.get(url, stream=True)

# 응답을 확인하고 성공적인 응답인지 확인합니다.
if response.status_code == 200:
    # 스트림 데이터를 받아 처리합니다.
    for chunk in response.iter_content(chunk_size=1024):
        # 데이터를 처리하는 로직을 여기에 작성합니다.
        # 예를 들어, 파일에 기록하거나 화면에 출력할 수 있습니다.
        process_chunk(chunk)
else:
    print("서버로부터의 응답이 실패했습니다.")

# 파일을 닫습니다.
response.close()

이 코드에서 requests.get() 함수의 stream 매개 변수를 True로 설정하여 스트림 모드로 요청을 보냅니다. 그리고 response.iter_content() 메서드를 사용하여 응답 데이터를 조각 조각 받아올 수 있습니다. chunk_size 매개 변수를 설정함으로써 몇 바이트씩 데이터를 받아올지를 지정할 수 있습니다.

스트림 데이터를 받아온 후에는 process_chunk() 함수를 호출하여 데이터를 처리하는 로직을 구현하면 됩니다. 이 부분은 데이터를 파일에 저장하거나 화면에 출력하는 등 다양한 용도로 사용할 수 있습니다.

마지막으로, 응답 객체를 닫기 위해 response.close()를 호출하여 리소스를 해제하는 것을 잊지 마세요.

이 외에도 requests 라이브러리에는 다양한 기능이 제공되므로, 자세한 내용은 공식 문서를 참조하시기 바랍니다.

참고 문서: requests 공식 문서