网页视频抓取脚本(【】请求url参数的对比过程分段请求链接)

优采云 发布时间: 2021-10-06 05:27

  网页视频抓取脚本(【】请求url参数的对比过程分段请求链接)

  工具:google浏览器+fiddler抓包工具

  注意:这里没有发布代码,[只是想法!!!】

  原创网址 = [链接到您可以随机找到的电影] 将其称为原创网址

  开始分析:

  打开fiddler,然后打开google,输入url,按F12.得到如下图:

  

  分析上图的内容:首先通过fiddler抓包,我们知道真实的播放地址是一段一段的,就像上面的3号图标,然后把播放地址的一小段复制到浏览器打开它,并得到一个 403 错误。可以看出需要重新打开链接。先构造一些东西,然后才能通过代码发送请求,否则会被拒绝。因此,它来到上面的图标编号 4 并分析请求 url。首先分析不同视频段的url差异。对比发现只有[ts_seg_no]参数不同,参数从0开始,逐渐+1,但结束尚不得而知。然后分析请求的视频网址的区别' 不同时间打开原创网址时的真实地址。旧的方法是在新标签页中再次打开原创URL,并比较请求的两次打开的URL。请求url参数对比过程略,参数对比结果如下:

  

  可以看到每次开启时,psid和vkey这两个参数都在变化,代表什么还是未知数。不同视频段同时打开的请求URL,ts_start、ts_end、ts_seg_no参数也有变化。虽然知道变化规律,但不确定三个参数什么时候结束,所以还不得而知。分析到这里,可以确定在分割的视频链接之前一定有链接或者js文件加载了这些未知参数或者这些未知的请求url链接。于是尝试在网络中搜索psid和vkey这两个值,有一部分链接是这样的[/playlist/m3u8?],然后点击查看响应,如下图:

  

  恰巧响应的内容只是视频片段的请求链接。所以现在不需要重构视频片段的请求链接了,关注上图中的url链接【暂且称之为播放url】,只要能获取到播放url,那么这个任务就会完成。

  然后开始分析播放url,如下图所示:

  

  看起来有点复杂,所以我用了之前的比较分析url的方法,得到了播放url参数的差异。区别如下:

  

  分析这个链接,链接中唯一需要重构的参数就是psid和ups_key。于是开始分析这两个参数的来源。

  因此,在google network中通过ctrl+f搜索psid和ups_key,发现在名为[]的链接中出现了两个参数,这个链接[称之为js链接]如下图;

  

  这个js链接是一个js文件。点击后查看响应,发现响应是一个json格式的js函数,如下图:

  

  然后我在响应中搜索了psid和ups_key的值,找到了之前的播放链接,并给出了一张图:

  

  好的!现在一切都清楚了,只要能拿到这个js链接的响应信息,再提取m3u8_url再请求,提取响应【这个响应才是真正的视频播放地址】。所以现在我们要弄清楚如何获得这个js链接,

  问题的出现

  嗯。. . ? (猜中...)从响应中我们可以看到json格式是mtopjsonp1(),那么这个mtopjsonp1()是什么?它是一个js函数吗?如果是js函数,那么你可以尝试搜索看看【我试过了,但是没有看到完全相同的函数】,你尝试请求这个js链接吗?【这个链接也看了,很长,看起来好复杂,这条路先不考虑】,如果不考虑前两条,那你就得开始考虑重构播放url了,毕竟, play 只要url找到psid和ups_key这两个参数就可以了。于是我开始思考:如果这两条路径存在,那应该是在某个js函数中,于是我开始在网络中搜索psid和ups_key这两个参数。好吧,我发现了 psid 参数的痕迹。如下所示:

  

  我确实在另一个 js 文件中找到了 psid,但它不是很相似。而且就算是,如果对js不是很熟悉,我也无法弄清楚psid是如何生成的。所以,先放这个变量,再搜索。ups_key,很遗憾,这个变量在js文件中没有找到,所以我们需要回到猜测【如何找到请求那个很长很复杂的js链接的方法】。为什么复杂?看看下面的图片:

  

  它仍然是一个 GET 请求来发送一个指向数据的链接。下图为链接的参数(先绝望):

  

  老实说,看到这样的链接,我真的不想得到它。

  不过我还是得花点时间弄清楚,不然我的爬虫技术就到此为止了。(我还是得做,但是一想到爬虫的问题就忍不住很伤心,没人能问。技术瓶颈只能自己在未知的时间里堆积起来) 继续。

  写在最后

  我现在在爬虫破解js方向有技术瓶颈。上次破解搜索网站也是js加密的参数,因为无法解决js加密,最后失败了。想了想,技术瓶颈只能是现在开始学js,自己学做js加密数据。如此周而复始,想必js破解指日可待。以后学了js,自己加密,自己破解。

  另外,文章里写的完全是我自己的想法。可能是对的,也可能是错的,可能是其中的一部分等等,如果你不幸看到我的文章,不幸看到这个地方,我真诚地希望你能纠正错误。

  另外,如果后续破解成功,会更新这个文章。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线