做爬虫的时候,你需要把视频保存在本地。 通常,在设置本地保存的路径之前,先获取视频. mp4的下载链接。 路径包含最后一个名称
例如,D:/1.mp4 ),因此函数传递的参数是url和path。
示例:(推荐学习资源: Python视频教程(import os,import requests )。
defdownload_video(URL,file_path ) :
try:
头={ ' user-agent ' : ' Mozilla/5.0 (windows nt 6.2; WOW64 ) appleWebKit/537.36(khtml,like Gecko ) maxthon/4.3.2.1000 chrome/30.0.1599.101 safari/537.36 ) }
pre_content_length=0
#循环地接收视频数据
如果while True:#文件已经存在,请重新提交断点以设置接收数据的位置
IFOS.path.exists(file_path ) :
headers [ ' range ' ]=' bytes=% d-' % OS.path.getsize (file _ path )
RES=requests.get(URL,stream=True,headers=headers ) )。
content _ length=int (RES.headers [ ' content-length ' ]
#如果当前消息长度小于上次消息长度,或者接收的文件等于当前消息长度,则认为视频接收已完成
if content _ length pre _ content _ length or (OS.path.exists (file_path ) andOS.path.getsize ) ) file _ path
布莱克
pre _ content _ length=content _ length
#写入收到的视频数据
withopen(file_path,' ab ' ) as file:
文件. write (RES.content )。
file.flush (
打印(receivedata,filesize : % dtotal size : % d ) (OS.path.getsize(file_path ),content_length ) )
except Exception as e:
dic={'url':url,' file_path':file_path}
打印(下载失败:光盘) )。
这使用requests和操作系统库,因此需要导入操作系统、导入请求。
有关更多Python相关技术文章,请参考Python教程栏进行学习。