2016-10-04 4 views
-2

막 지루한 것들을 자동화하기 위해 웹 스크래핑을 끝내기 만하면되었지만 iter_content 함수에 대해서는 여전히 혼란 스럽습니까? 실제로 무엇을합니까?iter_content() 함수는 정확히 무엇을합니까?

note = open('download.txt', 'w') 
note.write(request) 
note.close() 

하지만 결과는 사용하는 것과 다릅니다 :

정상적인 사용하여 웹 페이지를 다운로드하려고

note = open('download.txt', 'wb') 
for chunk in request.iter_content(100000): 
    note.write(chunk) 
note.close() 

??? 응답 데이터에

로 반복

답변

2

iter_content ( 거짓 수 chunk_size = 1, = decode_unicode). 요청시 stream = True가 설정되면 대용량 응답을 위해 즉시 내용을 메모리로 읽지 않습니다. 청크 크기는 메모리에 읽어야하는 바이트 수입니다. 이는 디코딩이 발생할 수 있으므로 반환되는 각 항목의 길이가 반드시 같지는 않습니다.

chunk_size는 int 또는 None이어야합니다. 없음 값은 스트림 값에 따라 다르게 작동합니다. stream = True는 청크가 수신 된 크기로 도착할 때 데이터를 읽습니다. stream = False이면 데이터가 단일 청크로 반환됩니다.

decode_unicode가 True 인 경우 콘텐츠는 응답을 기반으로 사용 가능한 최상의 인코딩을 사용하여 디코딩됩니다.

링크 - 그것은 100000 바이트마다에 응답을 반복한다이 경우 http://docs.python-requests.org/en/master/api/

.

관련 문제