几个月前有个网友找到我,说有个项目一起合作,简单来讲就是下载网络视频。当时很是棘手,最终也没有搞定,想来是个损失,最近在学习python,试着再学习一下。
实战案例:
1.随便找个网络视频(非流媒体),我这里是用的包图网,进入首页https://ibaotu.com/
2.搜索“过年视频”,会有一个视频列表,点第一个,https://ibaotu.com/sucai/513488.html,如下:
3.先测试一下能否播放,点击播放按钮会进行弹窗播放,如下:
4.我们关掉播放窗口,F12抓包再点击播放按钮,抓一下包,寻找播放地址,如下图,很容易找到了视频地址:https://pic.ibaotu.com/00/51/34/88a888piCbRB.mp4
5.我们用下面代码下载这个视频,
import requests
print("开始下载")
url = 'https://pic.ibaotu.com/00/51/34/88a888piCbRB.mp4'
r = requests.get(url, stream=True)
with open('test.mp4', "wb") as mp4:
for chunk in r.iter_content(chunk_size=1024 * 1024):
if chunk:
mp4.write(chunk)
print("下载结束")
6.看到了同目录成功下载视频,再用浏览器下载这个视频,比较一下是一模一样的。
注:这个只是简单的测试,也只是7行代码,完成了不可思议的功能(相比其他语言如C++)。在实际的项目中找视频链接有点困难的,本来这个教程我想用CSDN上面的免费试看视频做样例,抓了一下包又是m3u8文件又是ts文件的,分析视频地址有点困难,还有自己一向喜欢看直播,不知道直播会有什么样的地址,又是怎么弄得,本来想花时间搞明白这个事情,想想还是算了,目前学习的核心是爬虫,下载视频先到这里,简单做个记录,爬虫学的差不多了下载视频再做详细学习。不能弄得鸡飞蛋打一个捞不着。
一个好用的python下载视频的神器 “you-get”,能直接从网页里面解析视频地址,使用教程请看:
https://blog.csdn.net/zwx19921215/article/details/85249676
此处先记载下来以后再做细致研究