python基于http下载视频或音频
一、简介
这里介绍使用python基于http下载视频或音频。
二、关键点
1、断点续传
视频或音频文件一般比较大,所以通过需要断点续传。方式通过在http的header里添加Range字段,指示接下来需要接收文件的位置。
2、判断结束
这里采用读取response的content-length字段,若当前报文长度小于前次报文长度,或者已接收文件等于当前报文长度,则可以认为视频接收完成。
三、示例代码
importos importrequests defdo_load_media(url,path): try: headers={ "User-Agent":"Mozilla/5.0(WindowsNT6.2;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Maxthon/4.3.2.1000Chrome/30.0.1599.101Safari/537.36"} pre_content_length=0 #循环接收视频数据 whileTrue: #若文件已经存在,则断点续传,设置接收来需接收数据的位置 ifos.path.exists(path): headers['Range']='bytes=%d-'%os.path.getsize(path) res=requests.get(url,stream=True,headers=headers) content_length=int(res.headers['content-length']) #若当前报文长度小于前次报文长度,或者已接收文件等于当前报文长度,则可以认为视频接收完成 ifcontent_length以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。