来源:https://stackoverflow.com/questions/13137817/how-to-download-image-using-requests
import shutil
import requests
def download_imageurl(urlobj, filename, params):
headers = {
'authority': 'weibo.com' ,
'accept': 'application/json, text/plain, */*' ,
'accept-language': 'zh-CN,zh;q=0.9' ,
'client-version': 'v2.40.20' ,
'cookie': "{}".format(params.get("cookie")) ,
'referer': "{}".format(params.get("referer")) ,
'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"' ,
'sec-ch-ua-mobile': '?0' ,
'sec-ch-ua-platform': '"macOS"' ,
'sec-fetch-dest': 'empty' ,
'sec-fetch-mode': 'cors' ,
'sec-fetch-site': 'same-origin' ,
'server-version': 'v2023.03.30.1' ,
'traceparent': '00-bbb91a1780aa4f3c1c0177e504c6436e-f4640030b13af62a-00' ,
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36' ,
'x-requested-with': 'XMLHttpRequest' ,
'x-xsrf-token': 'zE0gWqkftwEbOUP0UGLtuZtd' ,
}
rep = requests.get(urlobj.url, headers=headers, stream=True)
os.makedirs(os.path.dirname(filename), exist_ok=True)
with open(filename, "wb") as f:
rep.raw.decode_content = True
shutil.copyfileobj(rep.raw, f)