当前位置: 首页 > 后端技术 > Python

http片段请求-python片段下载文件

时间:2023-03-26 00:12:09 Python

源文件http://theday.guohongfu.top/letter.txt的内容为abcdefghijklmnopqrstuvwxyz获取第20字节及以后的内容importrequestsurl='http://theday.guohongfu.top/letter.txt'headers1={'Range':"bytes=20-"#获取第20个及之后的字节}response=requests.get(url,headers=headers1)print('data={}'.format(response.content.decode()))#abcdef#Result#data=uvwxyz设置If-Match判断文件在两次请求之间是否发生变化importrequestsurl='http://theday.guohongfu.top/letter.txt'headers1={'Range':"bytes=0-5"#获取0-5个字节}response=requests.get(url,headers=headers1)print('data={}'.format(response.content.decode()))#abcdef#getetagreq_etag=response.headers['ETag']headers1['If-Match']=req_etag#判断两次请求之间文件是否发生变化headers1['Range']='bytes=6-10'#得到6-10字节的数据response=requests.get(url,headers=headers1)print('data={}'.format(response.content.decode()))#ghijk得到结果:#data=abcdef#data=ghijk使用Python下载文件importrequestsmp4url='https://mp4.vjshi.com/2020-11-20/1c28d06e0278413bf6259ba8b9d26140.mp4'response=requests.get(mp4url,stream=True)withopen('test.mp4','wb')asf:[f.write(chunk)forchunkinresponse.iter_content(chunk_size=512)ifchunk]每次以512字节为单位下载数据,防止下载的文件一次性读入内存,导致内存占满。