美拍视频(meipai)下载的最好方法
目前有以下靠谱的下载美拍视频的方法:
网页在线美拍视频下载解析工具 (Meipai Video Downloader)
Chrome 浏览器插件, 支持数十种视频网站下载, 又方便又准确.
当然还可以加我的 微信公众号 JustYYUK 通过机器人问答交互方式来 下载视频.
IOS 用户可以通过 Workflow 来调用视频下载的工具
美拍视频地址解析原理
美拍视频 (meipai.com) 的 HTML代码里的头部 head 标签里有:
这两串 content 的字符串是一样的, 取其一即可. 大概能猜出最后需要通过 Base64 来解码, 这串字符串里就包含了加密的视频原URL地址. 在最新推出的 2.3.5 Chrome 强有力的视频下载插件中, 增添了对美拍视频的本地解析.
对这串视频地址字符串的解密代码的JS代码如下:
// http://www.meipai.com/media/596371059
if (domain.includes("meipai.com")) {
if (!ValidURL(video_url)) {
var tmp = "";
video_dom = document.querySelector("meta[property='og:video:secure_url']");
if (video_dom) {
tmp = video_dom.getAttribute("content");
} else {
video_dom = document.querySelector("meta[property='og:video']");
if (video_dom) {
tmp = video_dom.getAttribute("content");
}
}
if (ValidURL(tmp)) {
video_url = tmp;
} else {
function getHex(param1) {
return {
'str': param1.substring(4),
'hex': param1.substring(0, 4).split('').reverse().join('')
}
}
function getDec(param1) {
var loc2 = parseInt(param1, 16) + "";
return {
'head': loc2.substring(0, 2).split(''),
'tail': loc2.substring(2).split('')
}
}
function substr(param1, param2) {
var loc3 = param1.substring(0, parseInt(param2[0]));
var loc4 = param1.substring(parseInt(param2[0]), parseInt(param2[0]) + parseInt(param2[1]));
return loc3 + param1.substring(parseInt(param2[0])).replace(loc4, "");
}
function getPos(param1, param2) {
param2[0] = param1.length - parseInt(param2[0]) - parseInt(param2[1]);
return param2;
}
var dict2 = getHex(tmp);
var dict3 = getDec(dict2['hex']);
var str4 = substr(dict2['str'], dict3['head']);
var tmp = atob(substr(str4, getPos(str4, dict3['tail'])));
if (ValidURL(tmp)) {
video_url = tmp;
}
}
}
}
如果放服务端PHP脚本来解析美拍视频的话 代码类似:
function getHex($param1) {
return array(
'str' => substr($param1, 4),
'hex' => strrev(substr($param1, 0, 4))
);
}
function getDec($param1) {
$loc2 = hexdec($param1);
return array(
'head' => str_split(substr($loc2, 0, 2)),
'tail' => str_split(substr($loc2, 2))
);
}
function substr1($param1, $param2) {
$loc3 = substr($param1, 0, (integer)$param2[0]);
$loc4 = substr($param1, (integer)$param2[0], (integer)$param2[1]);
return $loc3 . str_replace($loc4, "", substr($param1, (integer)$param2[0]));
}
function getPos($param1, $param2) {
$param2[0] = strlen($param1) - (integer)$param2[0] - (integer)$param2[1];
return $param2;
}
function download($url) {
$doc = phpQuery::newDocumentFile($url);
$arr = array();
$tag = trim(strip_tags($doc->find("meta[property='og:video:secure_url']")->attr('content')));
if (is_good_url($tag)) {
return $tag;
}
$arr[] = $tag;
$tag = trim(strip_tags($doc->find("meta[property='og:video:url']")->attr('content')));
if (is_good_url($tag)) {
return $tag;
}
$arr[] = $tag;
$tag = trim(strip_tags($doc->find("meta[property='og:videosrc']")->attr('content')));
if (is_good_url($tag)) {
return $tag;
}
$arr[] = $tag;
foreach ($arr as $tmp) {
$dict2 = getHex($tmp);
$dict3 = getDec($dict2['hex']);
$str4 = substr1($dict2['str'], $dict3['head']);
$tmp1 = base64_decode(substr1($str4, getPos($str4, $dict3['tail'])));
if (is_good_url($tmp1)) {
return $tmp1;
}
}
return down($url);// 通过其它方法来尝试解析美拍视频
}
效果如下:
怎么样下载美拍视频?
当然也可以通过在线网页版本的美拍视频下载工具 (Meipai Video Downloader).
视频下载相关技术帖子
视频下载相关的几个帖子:
如何解决微博视频下载出现的403错误(Denied by Referer ACL)?
怎样通过 Workflow 应用来下载视频?
如何下载 Instagram 视频?
如何下载 汤不热 Tumblr 视频?
如何下载 91 (P*rn) 视频?
如何下载 微博/weibo秒拍miaopai视频?
如何下载 网页中的 视频? (万能视频解析下载技巧)
如何通过微信公众号机器人下载视频?
怎么样下载 美拍/meipai视频 (含 Javascript 代码)?
如何下载解析 爱拍视频? (aipai)
如何下载解析 快手视频? (kuaishou)
第一视频的解析技巧
梨视频(PearVideo)下载解析的方法和技巧
说说我那复活的视频下载插件
如何下载TED视频?
视频下载工具
本文一共 324 个汉字, 你数一下对不对.