python抓取动态网页(40行代码教你爬遍小视频网站,先批量下载后仔细观看,岂不美哉!)

优采云 发布时间: 2022-03-21 05:10

  python抓取动态网页(40行代码教你爬遍小视频网站,先批量下载后仔细观看,岂不美哉!)

  /1 简介/

  还在为在线看小视频缓存慢而烦恼吗?还在为想重温优秀作品却找不到资源而苦恼吗?别慌,让python为你解决,40行代码教你爬取小视频网站,批量下载,仔细看,是不是很美!

  /2 组织想法/

  这种类型的 网站 大体相似。本文以凤凰网的新闻视频网站为例,采用反向推送的方式介绍如何通过流量分析获取视频下载的url,然后进行批量下载。

  /3 操作步骤/

  /3.1 分析网站找出网页变化的规律/

  1、首先找到网页,网页的详细信息如下图所示。

  2、本视频网站分为人物、娱乐、艺术等不同类型,本文以体育板块为例,向下滚动至底部,如下图所示。

  3、根据上图的结果,我们可以发现网站是一个动态网页,打开浏览器自带的流量分析器,点击加载更多,找出网页的规律变化。首先是, request 的 URL 和返回的结果如下图。标记的地方是页码,在这种情况下是第 3 页。

  4、返回的结果包括视频标题、网页url、guid(相当于每个视频的logo,后面有用)等信息,如下图所示。

  5、每个网页收录24个视频,如下图所示。

  /3.2 查找视频网址规则/

  1、先打开流量分析器,播放视频抓包,找到几个mp2t文件,如下图。

  2、我一一找到了它们的URL,并将它们存储在一个文本文件中,以发现它们之间的规则,如下图所示。

  3、你找到规律了吗?URL中的p26275262-102-9987636-172625参数是视频的guid(上面得到),只有range_bytes参数变化,从0到6767623,明显是视频的大小,视频是分段合成。找到这些规律后,我们需要继续挖掘视频地址的来源。

  /3.3 找到原视频下载地址/

  1、首先考虑一个问题,视频地址是从哪里来的?一般情况下,先看视频页面,看看有没有。如果没有,我们将在流量分析器中查找第一个分段视频。一定有一个URL返回这个信息,很快,我在一个vdn.apple.mpegurl文件中找到了下图。

  2、厉害了,这不就是我们要找的信息吗,我们来看看它的url参数,如下图所示。

  3、上图中的参数看起来很多,但不要害怕。还是用老方法,先在网页上查看有没有,如果没有,在流量分析器里找。努力有回报,我找到了下面的图片。

  4、它的 url 如下所示。

  5、 仔细寻找规则,我们发现唯一需要改变的是每个视频的guid。这第一步已经完成。另外,返回的结果收录了除vkey之外的所有上述参数,而且这个参数是最长的,那怎么办呢?

  6、别慌,万一这个参数没用,把vkey去掉,先试试。果然,没有用。现在整个过程已经顺利进行,现在您可以编码了。

  /3.4 代码实现/

  1、在代码中,设置多线程下载,如下图,其中页码可以自行修改。

  2、解析返回参数,json格式,使用json库进行处理,如下图。通过解析,我们可以得到每个视频的标题、网页url和guid。

  3、模拟请求获取Vkey以外的参数,如下图所示。

  4、利用上一步的参数,发出模拟请求,获取包括分段视频在内的信息,如下图所示。

  5、将分割后的视频合并,保存在一个视频文件中,并按标题命名,如下图。

  /3.5 效果渲染/

  1、程序运行时,我们可以看到网页中的视频呈现在本地文件夹中,如下图所示。接下来妈妈再也不用担心找不到我喜欢的视频了,真香!

  当然,如果想要更直观,可以在代码中添加维度测试信息,手动设置即可。

  /4 总结/

  本文主要基于Python网络爬虫,使用40行代码,针对小视频网页,批量获取网页视频到本地。该方法简单易行,效果显着,欢迎大家尝试。如需获取本文代码,请访问智姐获取代码链接。如果觉得还不错,记得给个star。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线