最新文章
python爬虫,python学习,如何用python爬取视频资源
2024-12-20 03:57

郑重声明:该文章仅供参考学习,他人不得转载,利用非法手段牟利。 

这篇文章的由来,是我为了一个月内看的三部电影,充了三个网站的会员之后,痛定思痛,决定再也不干这种傻事了,于是乎,我拿起了python—号称除了生孩子什么都能干的工具。

遗憾的是,在阅遍了CSDN,B站,知乎,博客园之后,并没有任何一个网站可以解决我的问题,尤其是我最依赖的CSDN,要么就是压根不能实践的方法,要么就是很老已经不能用的方法,滥竽充数和浑水摸鱼的文章浪费了大量的时间,于是,此文章应运而生。

由于解析电影的网站不同,衍生出了数种不同的爬虫思路,变化性较大,加之解析网站变动较大,这也是在各大资源网站都找不到有用的获取***(手动和谐掉vip)视频的教程的原因之一。

本文所有用到的接口都不会公布(官方封禁,可以自己找或私我。

本文文字叙述只是整理思路,辅助理解,真正的灵魂在代码,一定要认真看代码。

适用人群

1.纯小白,就是想白嫖电影的

2.初学者,emmm。。至少要会个requests和基本语法吧

3.较为高级一点的初学者,os,requests,time,基础re,基础concurrent,基础AES

4.大佬(反正除了123就直接统称为大佬。。。鼠

小白食用,极度舒适。

找个接口。

最简单没有之一的一种获取视频的方法

值得一提的是很多接口不能直接抓包。

这个是仅次于(一的简单,打开检查选中media(媒体,然后解析播放(切记顺序不要乱,就会刷新出文件,点开文件,进入视频界面,直接下载。大电影用的比较少,不妨一试。

,比如某站视频不能直接下载嘛不是,找接口直接抓包就完了。

所用到模块:requests,os,time,concurrent(可不用

最近在看罗small黑战记(时隔七年终于更新了,然鹅,居然只有某站大会员才能看,本着能白嫖绝不三连,呸,花钱,的思想,自己写代码爬

此时就可以观看该电影,嗯,用过的应该知道,m3u8格式的视频不在大网站上的话,非常容易卡,十分影响观影体验,于是我们选择下载电影。那么,重点就来了。

对于m3u8格式,简单来说就是将一个大视频(几个小时)切割成上千个小的视频片段,后缀为ts,可以跟正常的MP4一样播放。然后你看视频的时候就一个个片段渲染,更详细的可以直接在CSDN或者百度搜搜,这里不赘述。

所以我们的思路就是

0.在解析网站中获取m3u8文件(or php

1.把所有的网址提取出来,剔除‘#’开头的没用数据

2.遍历获取每一个视频片段

3.然后将所有的视频片段合并成一个大的电影文件

4.删除下载的每一个视频片段

python爬虫,python学习,如何用python爬取视频资源

#补充

5.编写一个下载ts片段的函数,用于开创线程池,加快速度

6.下载过程可能会失败,所以一定要设置最长get时间,并且限定次数防止由于资源问题程序卡死

第一步,打开右键打开检查,在network(网络)里找到m3u8文件

大概有两千多行吧。。。。

,这个文件能看到许多的https(一种协议)网址,就是每一个视频片段,ts格式的。

第二步,编写python代码

ok,思路清晰了以后,就开始编写代码了。话不多说上代码(也不算长

 

headers是基本反爬,在这里不加也没有影响。

上面的程序开了线程池(ThreadPoolExecutor,所以一部电影三分钟就能下载下来,不开的话就非常的慢,得个把小时才行。

另外,由于网络爬虫可能存在各种错误,所以在downlaod函数和后续删除ts片段中都用try-except捕获异常,并且开了一个线程池做补录,下载第一次未能顺利下载下来的内容。

time模块用来反馈下载电影所用时间,也可以不用。

 在XHR里找m3u8,预览里一般都可以看到上千行的网址,如上图。

所用到的模块:requests,re,AES,os,time,concurrent

比较进阶一点的爬虫的(真的就是一点点

(三,我们学会了如何下载m3u8格式的视频,但并非所有的m3u8都是那么的纯洁,有些网站非常的狗,对文件设置了加密(我只见过AES加密的,所以这里我们讨论如何解决有AES加密的视频。

1.首先,我们需要判断是否有加密

2.其次,既然是加密,我们就需要秘钥(key,获取他

3.通过秘钥(key)来解析获取ts文件

#其实就是比(二)多了个解密模块嘛

我们这里选取某站会员(最难处理的就它了,傲娇的要死)的罗little黑战记(37-40集,作为范例。

first.我们需要下载每一集的目录(m3u8文件

按照(三中的方法下载就完了。

second.上代码

 

很显然,除了一下下载几集之外,唯一的不同点就是解密,直接套用解密模板就行了。

 

就像这样。

由于这个是几集,所以key我们选择从下载的m3u8文件里提取,这里就用到了一点点的re(正则表达式)内容,当然也可以手动提取粘贴到代码里,就是对于好几集的剧来说太麻烦了。

key获取之后一定要编码成utf-8的格式,要不然程序会报错(python这个笨逼他读不懂其他编码格式的数据

综上,哪怕啥都不会,照搬照套就可以爬取网上能看or不能看的电影。

上述的四种方法,一般来讲前三种就能解决大多数视频了,并且都不难,就是遇到那种情况就用对应的方法解决就完了。

    以上就是本篇文章【python爬虫,python学习,如何用python爬取视频资源】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/quote/7090.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站http://ww.kub2b.com/mobile/,查看更多   
发表评论
0评