使用requests.get下載大文件-Python

https://blog.csdn.net/abcd1f2/article/details/53322934

當使用requests的get下載大文件/數據時,建議使用使用stream模式。

當把get函數的stream參數設置成False時,它會立即開始下載文件並放到內存中,如果文件過大,有可能導致內存不足。

當把get函數的stream參數設置成True時,它不會立即開始下載,當你使用iter_content或iter_lines遍歷內容或訪問內容屬性時纔開始下載。需要注意一點:文件沒有下載之前,它也需要保持連接。

  • iter_content:一塊一塊的遍歷要下載的內容
  • iter_lines:一行一行的遍歷要下載的內容

使用上面兩個函數下載大文件可以防止佔用過多的內存,因爲每次只下載小部分數據。

示例代碼:

r = requests.get(url_file, stream=True)
f = open("file_path", "wb")
for chunk in r.iter_content(chunk_size=512):
    if chunk:
        f.write(chunk)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章