经常看电影的都知道很多的电影电视都是需要充VIP的,但是我却喜欢反其道而行,我不仅要看,还要下载。如果只是看,那么看完这文章的前半部分即可,今天的主题是下载!

实战背景

例举一部Vip权限的电影加勒比海盗5的URL





很容易就能在线观看这些VIP电影、视频:


有用的请求并不多,逐条分析。先看第一个请求返回的信息。

第一个请求是GET请求,没什么有用信息,继续看下一条。

第二条GET请求地址变了且在返回的信息中,这网页执行了一个POST请求。



这里面存放的是什么?打开这个地址看一下:

果然,我们可以看到视频地址近在眼前啊,URL如下:

我们再打开这个视频地址:




思路已经给出,希望喜欢爬虫的人可以在运行下代码之后,自己重头编写程序,因为只有经过自己分析和测试之后,才能真正明白这些代码的意义。上述代码运行结果如下:

我们已经顺利获得了mp4这个视频文件地址。根据视频地址,使用 urllib.request.urlretrieve() 即可将视频下载下来。编写代码如下:



方便我们查看下载进度。Python代码量不大,主要在于分析过程。代码运行结果如下:

GIF
下载速度挺快的,几分钟视频下载好了。

根据这个思路,感兴趣的朋友可以扩展出一个小软件,根据用户提供的url实现电脑端口在线观看、手机在线观看、还有牛逼的Vip视频下载功能。
总结归纳
网络爬虫时效性很低,同样的思路过了一周可能就无法再使用,但是爬取思路基本一样。
网友评论