56.com视频采集接口程序(PHP)

前端之家收集整理的这篇文章主要介绍了56.com视频采集接口程序(PHP)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

楼下也有一个所谓56站程序的,忽悠到了极致,不喜欢被人忽悠的,还是自己做个站吧!
我给大家个采集接口,你爱自己采集可以用自己的FLASH播放器直接播放56.com的flv吧!不用帮人家做免费广告那么傻了! <div class="codetitle"><a style="CURSOR: pointer" data="14822" class="copybut" id="copybut14822" onclick="doCopy('code14822')"> 代码如下:

<div class="codebody" id="code14822">
<?PHP
$url="http://www.56.com/u75/v_MTkwMTIwMjQ.html";
$html=@file_get_contents($url);
preg_match_all("/var_oFlv_o='([\S|\s]+)'/isU",$html,$matches);
$o=decode56($matches[1][0]);
include_once"json.PHP";//当PHP没有配置支持json的时候有用
$o=str_replace("'",'"',$o);
$o=json_decode($o);
//printr($o);
$swf="http://www.56.com/n
".str_replace(":88","",str_replace(".56.com",$o->imghost)).
"
/".str_replace(".56.com",$o->URLhost).
"
/".$o->URLpURL.
"
/".$o->URLsURL.
"
/".$o->userid.
"
/".$o->URLURLid.
"
/".$o->totaltime.
"/".$o->effectID.
"
/".$o->id.".swf";
$flv="http://hot-chinacache.56.com/flvdownload/".$o->URL_pURL.
"/".$o->URL_sURL.
"/".$o->user_id.
"@56.com56flv".$o->URL_URLid.".flv";
echo"FLASH文件路径:".$swf;
echo"
";
echo"FLV文件路径:".$flv; $de=0;
functiondecode56($str){
global$de;
$c1="";
$c2="";
$c3="";
$c4="";
$c5=array(-1,-1,62,63,52,53,54,55,56,57,58,59,60,61,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1);
$c6=charCodeAt($str,0);
$c7="";
$i="";
$len="";
$out="";
if(!$de){
$de=1;
$c7=decode56($str);
$str=substr($c7,$c6);
}
$len=strlen($str);
$i=1;
$out="";
while($i<$len){
do{
$c1=$c5[charCodeAt($str,$i++)&0xff];
}
while($i<$len&&$c1==-1);
if($c1==-1)break;
do{
$c2=$c5[charCodeAt($str,$i++)&0xff];
}
while($i<$len&&$c2==-1);
if($c2==-1)break;
$out.=chr(($c1<<2)|(($c2&0x30)>>4));
do{
$c3=charCodeAt($str,$i++)&0xff;
if($c3==61)return$out;
$c3=$c5[$c3];
}
while($i<$len&&$c3==-1);
if($c3==-1)break;
$out.=chr((($c2&0XF)<<4)|(($c3&0x3C)>>2));
do{
$c4=charCodeAt($str,$i++)&0xff;
if($c4==61)return$out;
$c4=$c5[$c4];
}
while($i<$len&&$c4==-1);
if($c4==-1)break;
$out.=chr((($c3&0x03)<<6)|$c4);
}
return$out;
} functioncharCodeAt($str,$i){
returnord(substr($str,$i,1));
} //该程序仅为技术交流,交流可加QQ群:1714987
?>

json.PHP
<div class="codetitle"><a style="CURSOR: pointer" data="6536" class="copybut" id="copybut6536" onclick="doCopy('code6536')"> 代码如下:
<div class="codebody" id="code6536">
<?PHP
define('HTML_AJAX_JSON_SLICE',1);
define('HTML_AJAX_JSON_IN_STR',2);
define('HTML_AJAX_JSON_IN_ARR',4);
define('HTML_AJAX_JSON_IN_OBJ',8);
define('HTML_AJAX_JSON_IN_CMT',16);
define('HTML_AJAX_JSON_LOOSE_TYPE',10);
define('HTML_AJAX_JSON_STRICT_TYPE',11); classHTML_AJAX_JSON
{
functionHTML_AJAX_JSON($use=HTML_AJAX_JSON_STRICT_TYPE)
{
$this->use=$use;
} functionencode($var)
{
switch(gettype($var)){
case'boolean':
return$var?'true':'false'; case'NULL':
return'null'; case'integer':
returnsprintf('%d',$var); case'double':
case'float':
returnsprintf('%f',$var); case'string'://STRINGSAREEXPECTEDTOBEINASCIIORUTF-8FORMAT
$ascii='';
$strlen_var=strlen($var); for($c=0;$c<$strlen_var;$c++){ $ord_var_c=ord($var{$c}); if($ord_var_c==0x08){
$ascii.='\b'; }elseif($ord_var_c==0x09){
$ascii.='\t'; }elseif($ord_var_c==0x0A){
$ascii.='\n'; }elseif($ord_var_c==0x0C){
$ascii.='\f'; }elseif($ord_var_c==0x0D){
$ascii.='\r'; }elseif(($ord_var_c==0x22)||($ord_var_c==0x2F)||($ord_var_c==0x5C)){
$ascii.='\'.$var{$c};//doublequote,slash,slosh }elseif(($ord_var_c>=0x20)&&($ord_var_c<=0x7F)){
//charactersU-00000000-U-0000007F(sameasASCII)
$ascii.=$var{$c};//mostnormalASCIIchars }elseif(($ord_var_c&0xE0)==0xC0){
//charactersU-00000080-U-000007FF,mask110XXXXX,seehttp://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$char=pack('C',$ord_var_c,ord($var{$c+1}));$c+=1;
$ascii.=sprintf('\u%04s',bin2hex(mb_convert_encoding($char,'UTF-16','UTF-8'))); }elseif(($ord_var_c&0xF0)==0xE0){
//charactersU-00000800-U-0000FFFF,mask1110XXXX,ord($var{$c+1}),ord($var{$c+2}));$c+=2;
$ascii.=sprintf('\u%04s','UTF-8'))); }elseif(($ord_var_c&0xF8)==0xF0){
//charactersU-00010000-U-001FFFFF,mask11110XXX,ord($var{$c+2}),ord($var{$c+3}));$c+=3;
$ascii.=sprintf('\u%04s','UTF-8'))); }elseif(($ord_var_c&0xFC)==0xF8){
//charactersU-00200000-U-03FFFFFF,mask111110XX,ord($var{$c+3}),ord($var{$c+4}));$c+=4;
$ascii.=sprintf('\u%04s','UTF-8'))); }elseif(($ord_var_c&0xFE)==0xFC){
//charactersU-04000000-U-7FFFFFFF,mask1111110X,ord($var{$c+4}),ord($var{$c+5}));$c+=5;
$ascii.=sprintf('\u%04s','UTF-8')));
}
} returnsprintf('"%s"',$ascii); case'array':
if(is_array($var)&&(array_keys($var)!==range(0,sizeof($var)-1)))
returnsprintf('{%s}',join(',',array_map(array($this,'name_value'),array_keys($var),array_values($var)))); returnsprintf('[%s]','encode'),$var))); case'object':
$vars=get_object_vars($var);
returnsprintf('{%s}',array_keys($vars),array_values($vars)))); default:
return'';
}
} functionname_value($name,$value)
{
return(sprintf("%s:%s",$this->encode(strval($name)),$this->encode($value)));
} functionreduce_string($str)
{
$str=preg_replace('#^\s
//(.+)$#m','',$str);//eliminatesinglelinecommentsin'//...'form
$str=preg_replace('#^\s/*(.+)*/#Us',$str);//eliminatemulti-linecommentsin'/.../'form,atstartofstring
$str=preg_replace('#/*(.+)*/\s
$#Us',atendofstring
$str=trim($str);//eliminateextraneousspace return$str;
} functiondecode($str)
{
$str=$this->reduce_string($str); switch(strtolower($str)){
case'true':
returntrue; case'false':
returnfalse; case'null':
returnnull; default:
if(is_numeric($str)){
return((float)$str==(integer)$str)
?(integer)$str
:(float)$str; }elseif(preg_match('/^".+"$/s',$str)||preg_match('/^\'.+\'$/s',$str)){
$delim=substr($str,1);
$chrs=substr($str,-1);
$utf8='';
$strlen_chrs=strlen($chrs); for($c=0;$c<$strlen_chrs;$c++){ $substr_chrs_c_2=substr($chrs,$c,2);
$ord_chrs_c=ord($chrs{$c}); if($substr_chrs_c_2=='\b'){
$utf8.=chr(0x08);$c+=1; }elseif($substr_chrs_c_2=='\t'){
$utf8.=chr(0x09);$c+=1; }elseif($substr_chrs_c_2=='\n'){
$utf8.=chr(0x0A);$c+=1; }elseif($substr_chrs_c_2=='\f'){
$utf8.=chr(0x0C);$c+=1; }elseif($substr_chrs_c_2=='\r'){
$utf8.=chr(0x0D);$c+=1; }elseif(($delim=='"')&&(($substr_chrs_c_2=='\"')||($substr_chrs_c_2=='\\')||($substr_chrs_c_2=='\/'))){
$utf8.=$chrs{++$c}; }elseif(($delim=="'")&&(($substr_chrs_c_2=='\\'')||($substr_chrs_c_2=='\\')||($substr_chrs_c_2=='\/'))){
$utf8.=$chrs{++$c}; }elseif(preg_match('/\\u[0-9A-F]{4}/i',substr($chrs,6))){//single,escapedunicodecharacter
$utf16=chr(hexdec(substr($chrs,($c+2),2))).chr(hexdec(substr($chrs,($c+4),2)));
$utf8.=mb_convert_encoding($utf16,'UTF-8','UTF-16');
$c+=5; }elseif(($ord_chrs_c>=0x20)&&($ord_chrs_c<=0x7F)){
$utf8.=$chrs{$c}; }elseif(($ord_chrs_c&0xE0)==0xC0){
$utf8.=substr($chrs,2);$c+=1; }elseif(($ord_chrs_c&0xF0)==0xE0){
$utf8.=substr($chrs,3);$c+=2; }elseif(($ord_chrs_c&0xF8)==0xF0){
$utf8.=substr($chrs,4);$c+=3; }elseif(($ord_chrs_c&0xFC)==0xF8){
$utf8.=substr($chrs,5);$c+=4; }elseif(($ord_chrs_c&0xFE)==0xFC){
$utf8.=substr($chrs,6);$c+=5;
}
}
return$utf8; }elseif(preg_match('/^[.]$/s',$str)||preg_match('/^{.}$/s',$str)){ if($str{0}=='['){
$stk=array(HTML_AJAX_JSON_IN_ARR);
$arr=array();
}else{
if($this->use==HTML_AJAX_JSON_LOOSE_TYPE){
$stk=array(HTML_AJAX_JSON_IN_OBJ);
$obj=array();
}else{
$stk=array(HTML_AJAX_JSON_IN_OBJ);
$obj=newstdClass();
}
} array_push($stk,array('what'=>HTML_AJAX_JSON_SLICE,'where'=>0,'delim'=>false));
$chrs=substr($str,-1);
$chrs=$this->reduce_string($chrs); if($chrs==''){
if(reset($stk)==HTML_AJAX_JSON_IN_ARR){
return$arr; }else{
return$obj; }
} $strlen_chrs=strlen($chrs); for($c=0;$c<=$strlen_chrs;$c++){ $top=end($stk);
$substr_chrs_c_2=substr($chrs,2); if(($c==$strlen_chrs)||(($chrs{$c}==',')&&($top['what']==HTML_AJAX_JSON_SLICE))){
$slice=substr($chrs,$top['where'],($c-$top['where']));
array_push($stk,'where'=>($c+1),'delim'=>false)); if(reset($stk)==HTML_AJAX_JSON_IN_ARR){//weareinanarray,sojustpushanelementontothestack
array_push($arr,$this->decode($slice)); }elseif(reset($stk)==HTML_AJAX_JSON_IN_OBJ){//weareinanobject,sofigureoutthepropertynameandsetanelementinanassociativearray,fornow
if(preg_match('/^\s(["\'].[^\]["\'])\s:\s(\S.),?$/Uis',$slice,$parts)){//"name":valuepair
$key=$this->decode($parts[1]);
$val=$this->decode($parts[2]); if($this->use==HTML_AJAX_JSON_LOOSE_TYPE){
$obj[$key]=$val;
}else{
$obj->$key=$val;
}
}elseif(preg_match('/^\s
(\w+)\s:\s(\S.),$parts)){//name:valuepair,wherenameisunquoted
$key=$parts[1];
$val=$this->decode($parts[2]); if($this->use==HTML_AJAX_JSON_LOOSE_TYPE){
$obj[$key]=$val;
}else{
$obj->$key=$val;
}
} } }elseif((($chrs{$c}=='"')||($chrs{$c}=="'"))&&($top['what']!=HTML_AJAX_JSON_IN_STR)){//foundaquote,andwearenotinsideastring
array_push($stk,array('what'=>HTML_AJAX_JSON_IN_STR,'where'=>$c,'delim'=>$chrs{$c}));
//print("Foundstartofstringat{$c}\n"); }elseif(($chrs{$c}==$top['delim'])&&($top['what']==HTML_AJAX_JSON_IN_STR)&&(($chrs{$c-1}!="\")||($chrs{$c-1}=="\"&&$chrs{$c-2}=="\"))){//foundaquote,we'reinastring,andit'snotescaped
array_pop($stk);
//print("Foundendofstringat{$c}:".substr($chrs,(1+1+$c-$top['where']))."\n"); }elseif(($chrs{$c}=='[')&&in_array($top['what'],array(HTML_AJAX_JSON_SLICE,HTML_AJAX_JSON_IN_ARR,HTML_AJAX_JSON_IN_OBJ))){//foundaleft-bracket,andweareinanarray,object,orslice
array_push($stk,array('what'=>HTML_AJAX_JSON_IN_ARR,'delim'=>false));
//print("Foundstartofarrayat{$c}\n"); }elseif(($chrs{$c}==']')&&($top['what']==HTML_AJAX_JSON_IN_ARR)){//foundaright-bracket,andwe'reinanarray
array_pop($stk);
//print("Foundendofarrayat{$c}:".substr($chrs,(1+$c-$top['where']))."\n"); }elseif(($chrs{$c}=='{')&&in_array($top['what'],HTML_AJAX_JSON_IN_OBJ))){//foundaleft-brace,array('what'=>HTML_AJAX_JSON_IN_OBJ,'delim'=>false));
//print("Foundstartofobjectat{$c}\n"); }elseif(($chrs{$c}=='}')&&($top['what']==HTML_AJAX_JSON_IN_OBJ)){//foundaright-brace,andwe'reinanobject
array_pop($stk);
//print("Foundendofobjectat{$c}:".substr($chrs,(1+$c-$top['where']))."\n"); }elseif(($substr_chrs_c_2=='/
')&&in_array($top['what'],HTML_AJAX_JSON_IN_OBJ))){//foundacommentstart,array('what'=>HTML_AJAX_JSON_IN_CMT,'delim'=>false));
$c++;
//print("Foundstartofcommentat{$c}\n"); }elseif(($substr_chrs_c_2=='*/')&&($top['what']==HTML_AJAX_JSON_IN_CMT)){//foundacommentend,andwe'reinonenow
array_pop($stk);
$c++; for($i=$top['where'];$i<=$c;$i++)
$chrs=substr_replace($chrs,1); //print("Foundendofcommentat{$c}:".substr($chrs,(1+$c-$top['where']))."\n"); } } if(reset($stk)==HTML_AJAX_JSON_IN_ARR){
return$arr; }elseif(reset($stk)==HTML_AJAX_JSON_IN_OBJ){
return$obj; }
}
}
}
} if(!function_exists("json_encode")||!function_exists("json_decode")){
include_once"json.PHP";
functionjson_encode($data){
$json=newHTML_AJAX_JSON();
return$json->encode($data);
}
functionjson_decode($data){
$json=newHTML_AJAX_JSON();
return$json->decode($data);
}
}
?>

原文链接:https://www.f2er.com/php/29843.html

猜你在找的PHP相关文章