【福利】教你解析91porn,轻松下载9999+小视频
  • 内容
  • 相关

【福利】教你解析91porn,轻松下载9999+小视频

提前说:本文仅提供思路,,不提供网址,不提供代码,更不提供视频

在座的观众应该都知道一个大名鼎鼎的网站:91下载..91porn,因为91porn不是一次两次在CCTV上镜

当你打开91porn的页面时,即使你是个不足18岁的少年,你也会情不自禁的撒谎(我已年满18岁

上过91porn的老司机也知道,91porn限制了每日观看量,超过10次就不能看了。

之前写过91porn爬虫的技术宅男当然可以破解这个难题。

但是近期91porn对网站进行了反爬虫升级,之前视频链接都是直接在源码中展示了,但是现在已经对<video></video>标签进行了加密,这也导致了目前大部分的91porn爬虫都失效了。

加密后的video标签

这里就来说说 怎么破解91porn的加密

首先来看看strencode函数,找找加载的js内容,就能找到strencode函数在js/md5.js,看看md5.js的内容:

emmm....混淆的js代码,用jsnice反混淆一下看看:

js的可读性比之前强了,但是仍然不够,这时候如果你要开始动手,那么有3个选择:

  1. 继续手工替换混淆的名词,直到可读性perfect,然后再用Python重写这个strencode函数;
  2. selenium直接访问网址,获取视频
  3. 直接用PyV8/pyexecjs等库去执行strencode函数。

Abbey对JavaScript反混淆/反加密没有太多了解,如果是简单的反混淆,Abbey会尝试去用Python重写,但是这个就算了,因此第一种方法pass

selenium?Abbey一直觉得用selenium写爬虫是件很蠢的事情,太重、太慢了~Abbey可能只会用selenium获取cookies,然后传给requests用,因此第二种方法pass

Abbey最终选择的是第三种方法,使用PyExecjs类库直接执行strencode函数。

PyExecjs库

安装PyExecjs

windows在cmd,linux在shell下运行:

pip install PyExcejs

PyExecjs使用

>>> import execjs >>> execjs.eval('"one two three".split(" ")') #运行函数/方法 [u'one', u'two', u'three'] >>> ctx=execjs.compile(""" ...     function add_f(num1,num2){ ...         return num1+num2 ...     } ... """) >>> ctx.call('add_f','1','2') u'12' >>> ctx.call('add_f',1,2) 3 

瞧?使用PyExecjs运行js多简单

更多PyExecjs的使用,可查看官方Github

PyExecjs破解91porn加密

上面已经说了PyExecjs的使用,破解91porn的加密就很简单了,无非就是从源码中拿到strencode的参数,然后用PyExcejs调用strencode函数,将获取到的参数传入进去即可得到解密后的video标签内容

需要说明的是:91porn你可能拿到3个参数,但是实际上只有前两个参数是有用的,因此只拿前两个参数并传入即可。

尾声

思路已经提供,有能力的就自己写爬虫吧

【福利】教你解析91porn,轻松下载9999+小视频-下载页面
评论后还是无法显示下载地址?清理缓存-点我试试
热度:2865° 评分:8.7 发布时间: 2020年4月7日

本文标签:

版权声明:若无特殊注明,本文皆为《小洋vier》原创,转载请保留文章出处。

本文链接:【福利】教你解析91porn,轻松下载9999+小视频

发表评论

电子邮件地址不会被公开。 必填项已用*标注