频采集接口程序(PHP)

2018-09-07 14:22

阅读:244

  楼下也有一个所谓56站程序的,忽悠到了极致,不喜欢被人忽悠的,还是自己做个站吧!
我给大家个采集接口,你爱自己采集可以用自己的FLASH播放器直接播放flv吧!不用帮人家做免费广告那么傻了!

复制代码 代码如下:
<?php
$url=
$html=@file_get_contents($url);
preg_match_all(/var_oFlv_o=([\S\s]+)/isU,$html,$matches);
$o=decode56($matches[1][0]);
include_oncejson.php;//当php没有配置支持json的时候有用
$o=str_replace(,,$o);
$o=json_decode($o);
//print_r($o);
$swf=
_/.$o->URL_pURL.
_/.$o->URL_sURL.
_/.$o->user_id.
_/.$o->URL_URLid.
_/.$o->totaltime.
_/.$o->effectID.
_/.$o->id..swf;
$flv=
/.$o->URL_sURL.
/.$o->user_id.
echoFLASH文件路径:.$swf;
echo<br>;
echoFLV文件路径:.$flv;

$de=0;
functiondecode56($str){
global$de;
$c1=;
$c2=;
$c3=;
$c4=;
$c5=array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,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,-1,-1,-1,-1,-1,-1,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,-1,-1,-1,-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
复制代码 代码如下:
<?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)){
caseboolean:
return$var?true:false;

caseNULL:
returnnull;

caseinteger:
returnsprintf(%d,$var);

casedouble:
casefloat:
returnsprintf(%f,$var);

casestring://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,see
$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,see
$char=pack(C*,$ord_var_c,ord($var{$c+1}),ord($var{$c+2}));$c+=2;
$ascii.=sprintf(\u%04s,bin2hex(mb_convert_encoding($char,UTF-16,UTF-8)));

}elseif(($ord_var_c&0xF8)==0xF0){
//charactersU-00010000-U-001FFFFF,mask11110XXX,see
$char=pack(C*,$ord_var_c,ord($var{$c+1}),ord($var{$c+2}),ord($var{$c+3}));$c+=3;
$ascii.=sprintf(\u%04s,bin2hex(mb_convert_encoding($char,UTF-16,UTF-8)));

}elseif(($ord_var_c&0xFC)==0xF8){
//charactersU-00200000-U-03FFFFFF,mask111110XX,see
$char=pack(C*,$ord_var_c,ord($var{$c+1}),ord($var{$c+2}),ord($var{$c+3}),ord($var{$c+4}));$c+=4;
$ascii.=sprintf(\u%04s,bin2hex(mb_convert_encoding($char,UTF-16,UTF-8)));

}elseif(($ord_var_c&0xFE)==0xFC){
//charactersU-04000000-U-7FFFFFFF,mask1111110X,see
$char=pack(C*,$ord_var_c,ord($var{$c+1}),ord($var{$c+2}),ord($var{$c+3}),ord($var{$c+4}),ord($var{$c+5}));$c+=5;
$ascii.=sprintf(\u%04s,bin2hex(mb_convert_encoding($char,UTF-16,UTF-8)));
}
}

returnsprintf(%s,$ascii);

casearray:
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],join(,,array_map(array($this,encode),$var)));

caseobject:
$vars=get_object_vars($var);
returnsprintf({%s},join(,,array_map(array($this,name_value),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,,$str);//eliminatemulti-linecommentsin/*...*/form,atendofstring
$str=trim($str);//eliminateextraneousspace

return$str;
}

functiondecode($str)
{
$str=$this->reduce_string($str);

switch(strtolower($str)){
casetrue:
returntrue;

casefalse:
returnfalse;

casenull:
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,0,1);
$chrs=substr($str,1,-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,$c,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,$c,2);$c+=1;

}elseif(($ord_chrs_c&0xF0)==0xE0){
$utf8.=substr($chrs,$c,3);$c+=2;

}elseif(($ord_chrs_c&0xF8)==0xF0){
$utf8.=substr($chrs,$c,4);$c+=3;

}elseif(($ord_chrs_c&0xFC)==0xF8){
$utf8.=substr($chrs,$c,5);$c+=4;

}elseif(($ord_chrs_c&0xFE)==0xFC){
$utf8.=substr($chrs,$c,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,-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,$c,2);

if(($c==$strlen_chrs)(($chrs{$c}==,)&&($top[what]==HTML_AJAX_JSON_SLICE))){
$slice=substr($chrs,$top[where],($c-$top[where]));
array_push($stk,array(what=>HTML_AJAX_JSON_SLICE,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.*),?$/Uis,$slice,$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,wereinastring,anditsnotescaped
array_pop($stk);
//print(Foundendofstringat{$c}:.substr($chrs,$top[where],(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,where=>$c,delim=>false));
//print(Foundstartofarrayat{$c}\n);

}elseif(($chrs{$c}==])&&($top[what]==HTML_AJAX_JSON_IN_ARR)){//foundaright-bracket,andwereinanarray
array_pop($stk);
//print(Foundendofarrayat{$c}:.substr($chrs,$top[where],(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-brace,andweareinanarray,object,orslice
array_push($stk,array(what=>HTML_AJAX_JSON_IN_OBJ,where=>$c,delim=>false));
//print(Foundstartofobjectat{$c}\n);

}elseif(($chrs{$c}==})&&($top[what]==HTML_AJAX_JSON_IN_OBJ)){//foundaright-brace,andwereinanobject
array_pop($stk);
//print(Foundendofobjectat{$c}:.substr($chrs,$top[where],(1+$c-$top[where])).\n);

}elseif(($substr_chrs_c_2==/*)&&in_array($top[what],array(HTML_AJAX_JSON_SLICE,HTML_AJAX_JSON_IN_ARR,HTML_AJAX_JSON_IN_OBJ))){//foundacommentstart,andweareinanarray,object,orslice
array_push($stk,array(what=>HTML_AJAX_JSON_IN_CMT,where=>$c,delim=>false));
$c++;
//print(Foundstartofcommentat{$c}\n);

}elseif(($substr_chrs_c_2==*/)&&($top[what]==HTML_AJAX_JSON_IN_CMT)){//foundacommentend,andwereinonenow
array_pop($stk);
$c++;

for($i=$top[where];$i<=$c;$i++)
$chrs=substr_replace($chrs,,$i,1);

//print(Foundendofcommentat{$c}:.substr($chrs,$top[where],(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_oncejson.php;
functionjson_encode($data){
$json=newHTML_AJAX_JSON();
return$json->encode($data);
}
functionjson_decode($data){
$json=newHTML_AJAX_JSON();
return$json->decode($data);
}
}
?>


评论


亲,登录后才可以留言!