python实现各大视频网站电影下载

2022-09-06 17:57:15 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一、前期准备

  有时候我们想下载自己喜欢的电影,但很多时候要么需要安装客户端才能下载,或者干脆不提供下载的服务,很是不爽,

因此这里我们介绍使用python来实现网站的电影下载功能,凡是能在线观看的,都是可以下载滴!

  需要使用的工具有:1、python 2、you_get模块,使用pip安装 3、ffmpeg,ffmpeg需要去网站下载一个,加压完之后,将bin目录配置到环境变量中

控制台输入ffmpeg说明配置成功了

二、开始编码,下载视频

  目前我遇到的下载视频的方式有两种,1种就是使用you_get来直接获取,但是有时候对于某些小网站获取不到,

咱也不知道,咱也不敢问针对这种情况,我分析了这些网站的请求,使用requests库直接进行下载,下面咱们一起来看下代码:

1、使用you_get ffmpeg代码如下:

代码语言:javascript复制
1 from you_get import common as you_get
2 url = "http://www.pengwei168.com/play/41952-1-1.html" #视频网址
3 #
4 dir = r"C:film"  #下载目录
5 os.environ["path"] = os.environ.get("path") r";C:filmffmpeg-20160626-074fdf4-win32-staticbin"#设置ffmpeg到项目环境
6 sys.argv = ["you-get","--debug","-o",dir,url] #下载视频
7 # sys.argv = ["you-get","-i",url]#查看视频信息
8 # sys.argv = ["you-get","--format=4k","-o",dir,url]#选择清晰度下载视频
9 you_get.main()

上面的例子为优酷的下载视频,下载速度极快,而且上面下载的这个视频即使你是优酷vip都不给你下载,所以只能用黑科技了。

上面的代码我自己亲测对优酷,爱奇艺,搜狐视频都能轻松下载。

  2、使用requests库下载电影,当遇到某些视频网站you_get无法下载的话(获取可以下载,我可能不知道),我们可以使用request来下载。

首先我们分析一下电影网站的请求,发现了如下的请求:

这个截图主要有两类请求,第一个是视频的请求头文件,请求里面会返回这个商品总共有多少个小的视频组成,后面框起来的就是这些小片段的视频了。

我们的思路很简单:挨次请求这些小的片段视频,将其写到本地的一个文件里面就可以了,话不多说,上才艺!

代码语言:javascript复制
 1 import requests
 2 url = "https://youku.cdn7-okzy.com/20200728/20369_e1b41301/1000k/hls/2788bc741cc"
 3 with open('c:/film/活着2020.mp4', "ab") as mp4:
 4     for segment in range(0,1460):
 5         if segment<10:
 6             segment = "00000" str(segment)
 7         elif segment<100:
 8             segment = "0000"   str(segment)
 9         elif segment<1000:
10             segment = "000"   str(segment)
11         else:
12             segment = "00"   str(segment)
13         print(url str(segment) ".ts")
14         rs = requests.get(url str(segment) ".ts", stream=True)
15         for chunk in rs.iter_content(chunk_size=1024 * 1024):
16             if chunk:
17                 mp4.write(chunk)

上面这个列子是下载的人人视频的电影【活着2020】,还有1905电影网也可以使用这种方式下载。

  以上就是python下载电影的2种方式了,你学废了吗????

——————————-美丽的分割线———————–

对于vip才能看的电影,如果想下载,需要携带cookie信息,这时候我们用you-get的时候

需要带上cookier信息:

首先先在浏览器里面登录vip账号,这时候我们的浏览器会将cookie信息写入本地浏览器文件,我的火狐cookie的路径如上。

然后再设置参数的时候使用:-c,cookies就可以下载vip电影了。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155869.html原文链接:https://javaforall.cn

0 人点赞