使用請求模組對影像下載進行故障排除
問題:
問題: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)
試試載映像時使用Python中的Requests模組,程式碼如下失敗:
您可以幫忙辨識問題並提出解決方案嗎?
答案:
使用請求模組下載影像,您可以使用 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)
此方法強制解壓縮壓縮回應並使用shutil.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() 方法自訂區塊大小。
以上是如何使用 Python 的請求模組修復映像下載問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!