-
91porn修改了视频的下发机制,需要运行一段 js代码才能解析出正确的视频地址,在这里选择调用nodejs来执行。
-
当前版本的下载机制是先下到内存里,再存到磁盘上,以防止下载中断导致文件不完整。所以请调整
downloader.php
中内存的限制,保守起见最好在512mb
以上,否则有可能出现内存不够而退出。
ini_set('memory_limit','2048M'); //调整最大占用内存
如果需要不占用内存的版本,请下载v1.0.0
91porn.php
是爬取首页的视频,直接运行即可
91all.php
是爬取列表页的,例如“收藏最多”、“本月最热”等等,要别的列表的话可以去找对应的url
listPage("http://91porn.com/v.php?category=top&viewtype=basic"); //本月最热
listPage("http://91porn.com/v.php?category=mf&viewtype=basic"); //收藏最多
listPage("http://91porn.com/v.php?category=md&viewtype=basic"); //本月讨论
爬取页数可以自行更改,默认到10页;
$maxPage = 10; //更改爬取页数
可以在downloader.php中更改视频的默认存放路径:
static $defaultPath = './videos'; //默认储存路径
下载完成后就可以到videos目录下找到视频文件啦
有的地区91porn容易被墙,所以可以用境外的vps先下载(下载方式同上,而且境外vps下载速度极快),然后再从vps下载到本地;
1、服务端由index.php
提供接口,只需要把vps上的http server的监听端口指到该目录下;
2、本地运行client_downloader.php
即可下载,需要注意,此文件下的下载URL需要改成对应vps的地址。
$baseURL = 'http://xxoo.com'; //改成对应vps的域名或ip
运行detailPage.php
文件,将视频网页的地址传入
php detailPage.php http://91porn.com/view_video.php?viewkey=042a30e56c9cd20b075f
https://nodejs.org/en/download/
brew install node --with-npm
yum install nodejs
apt-get install nodejs
- windows, linux
- php >= 5.6
- node.js