樓下也有一個所謂56站程序的,忽悠到了極致,不喜歡被人忽悠的,還是自己做個站吧!
我給大家一個採集接口,你愛自己採集可以用自己的FLASH播放器直接播放56.com的flv吧!不用幫人家做免費廣告那麼傻了!
複製程式碼 程式碼如下:
$url = "http://www.56.com/u75/v_MTkwMTIwMjQ.html";
$html = @file_get_contents($url);
$html = @file_get_contents($url);
("/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);
//print_r($o);
$swf = "http://www.56.com/n_" . str_replace(":88", "", str_replace(".56.com", "" , $o->img_host)) .
"_/" . str_replace(".56 "_/" . $o->URL_pURL .
"_/" . $o->URL_sURL .
"_/" . $o->URL_URLid .
$o->totaltime .
"_/" . $o->effectID ".swf";
$flv = "http:// hot-chinacache.56.com/flvdownload/" . $o->URL_pURL .
"/" . $o->user_id .
"@56 .com_56flv_" . $o->URL_URLid . ".flv";
echo "FLASH檔案路徑: " . $swf;
echo "
";
$flv;
$de = 0;
function decode56($str) {
global $de;
$c1 global $de;
$c1 global $de;
$ 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,-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 = "";
$ de) {
$de = 1;
$c7 = decode56($str > }
$len = strlen( $str);
$i = 1;
$out = "";
while $c1 = $c5[charCodeAt($ str, $i++) & 0xff];
}
while($i do {
$c2 = $c5[charCodeAt($str, $i++) & 0xff] }
while ($i if($c2 == -1) break;
$out .= chr(($c1 >4));
do {
$c3 = charCodeAt($str, $i++) & 0xff;
if($c3 == 61) return $out;
$c3 = $c5[$c3];
}
while ($i if($c3 == -1) break;
$out .= chr((($c2 & 0XF) > 2));
do {
$c4 = charCodeAt($str, $i++) & 0xff;
if($c4 == 61) return $out;
$c4 = $c5[$c4];
}
while ($i if ($c4 == -1)
}
回傳 $out;
}
函數 charCodeAt($str, $i){
return ord(substr($str, $
}
//該程序流程圖技術交流,交流可加QQ群: 1714987
?>
複製程式碼如下程式碼:
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);
定義('HTML_AJAX_JSON_STRICT_TYPE', 11);
類別 HTML_AJAX_JSON
{
函數 HTML_AJAX_JSON($use=HTML_AJAX_JSON_STRICT_TYPE)
}
函數編碼($var)
{
switch(gettype($var)) :
以 $var ? '真':'假';
case 'NULL':
case 'integer':
case 'double':
printf('%f', $var);
case ‘string’: // 字串應使用 ASCII 或 UTF-8 格式
$strlen_var = strlen($var);
for($c = 0; $c if($ord_var_c == 0x08) cii .= '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== == 0x22) || ($ord_var_c== == 0x22) || $ascii .= '\'.$var{$c}; // 雙引號、斜線、斜線
} elseif($ord_var_c>= // 字元U-00000000 - U-0000007F(與ASCII相同) )
$ascii .= $var } elseif(($ord_var_c & 0xE0) == 0xC0) {
- U-0000 07FF,遮罩110XXXXX,請參閱http://www.cl.cam .ac.uk/~mgk25/unicode.html#utf-8
ord_var_c, ord($var{$c+1})); $c+=1;
, 'UTF-16', 'UTF -8')));
} elseif(($ord_var_c & 0 F0)== // 字元U-00000800 - U-0000FFFF, 遮罩1110 XXXX,請參閱http://www. cl.cam.ac.uk/~ mgk25/unicode.html#utf-8
{$c+2})); $c+=2;
$ascii .=$ sprintf('u%005) 'UTF-8'))) ;
} elseif(($ord_var_c & 0xF8) == // 字元 U-00010000 - U-001FFFFF,遮罩1111 0XXX,請參閱http://www.cl.cam.ac. uk/~ mgk25/unicode.html#utf-8
$char ), ord ($var{$c+3})); $c+=3;
UTF-16', 'UTF -8')));
} elseif(($ord_var_c & 0xFC) // 字元U-00200000 - U-03FFFFFF,遮罩111110 XX,參見http://www. cl.cam.ac.uk/~ mgk25/unicode.html#utf-8
{$c+2}), ord ($var{$c+3}), ord($var{$c+4})); $c+=4;
04s', bin2hex(mb_convert_encoding($char, 'UTF-16', 'UTF-8')));
elseif(($ord_var_c & 0xFE) == 0xFC) {
cl.cam.ac.uk/~mgk25/ unicode。 var{ $c+3}), ord($var{$c+4}), ord($var{$c+5})); $c+=5;
$ascii
}
return sprintf('"%s"', $ascii);
case 'array':
- 1)))
return sprintf( '{ %s}', join(',', array_map(array($this, 'name_value'), array_keys($var), array_values($var))));
return sprintf('[%s]', join(',', array_map(array($this, 'encode'), $var)));
case 'object':
return sprintf('{%s}', join(',', array_map(array($this, 'name_value'), array_keys($vars)map(array($this, 'name_value'), array_keys($vars));
預設:
return '';
}
}
函name_value($name, $value) encode(strval($name) ) ) )), $this->encode($value)));
}
函數 reduce_string($str)
{
// 刪除'//...'形式
$str = preg_replace('#^s*/*(.+)*/#Us', '', $str); 中的單行註釋 // 刪除字串
開頭處的多行註釋,以「/* ... */」形式出現 $str = preg_replace('#/*(.+)*/s*$#我們',''' , $str); // 刪除字串
補充的「/* ... */」形式的多行註解 $str = trim($str); // 消除多餘的空格
return $str;
}
函數解碼($str)
{
$str = $ case 'true':
return true;
false;
case 'null':
🎜> if(is_numeric($str)) {
return ((float)$str == (integer)$ ? (整數)$str
: (中對點數)$ /^".+"$/s', $str) || preg_match('/^'.+' $/s', $str)) {
$delim = $chrs = substr($str, 1, -1);
$utf8 ';
$strlen_chrs = strlen($chrs);
for; $c ;
$ord_chrs_c = ord($ch if($substr_chrs_c_2 == 'b') {
🎜 > } elseif($substr_chrs_c_2 == 't') {
$utf8 .= chr(0x09); $c+=1;
} elseif($substr_chrs_c_2 == 'n') {
$utf8 .= chr(0x0A); $c+=1;
$utf8 .= chr(0x0C); } elseif($substr_chrs_c_2 == 'r') {
$c+=1;
} elseif(($delim == '"') } elseif(($delim == '》)) } elseif(($delim == c_2 == '\\') || ($substr_chrs_c_2 = = '\/' ))) {
地\\') || ($substr_chrs_c_2 == '\/' ))) {
$
} elseif(preg_match('/\u[0-9A- 🎜 > $ utf16=chr(hexdec(substr($chrs,($c+2),2))。
$utf8 .=
$c+=5;
} elseif(($ord_chrs_c >=) $utf8 .= $chrs{$c};
地 $utf8 .= substr($chrs, $c, 2); $c += 1;
} elseif(($ord_chrs_c & ==010) == $utf8 .= substr($chrs, $c, 3); $c += 2;
} elseif(($ord_chrs_c) $utf8 .= substr($chrs, $c, 4); $c += 3;
} elseif(($ord_chrs_c) $utf8 .= substr($chrs, $c, 5); $c+=4;
} elseif(($ord_chrs_c & 0xFE) == 0xFC) {
$c += 5;
}
return $utf8;
} elseif(preg_match('/^[.*]$/s', $str) || if($ str{0} == '[') {
$arr = array();
} else {
_LOOSE_TYPE) {
$stk=批次中(HTML_AJAX_JSON_INJAX
$obj = array();
} else {
$stk = array(HTML_AJAX_JSON_IN_OBJ);
$obj = new stdClass();
}
array_push($stk, array('what' => HTML_AJAX_JSON_SLICE, 'where' => 0 , 'delim' => 假));
$chrs = substr($str, 1, -1);
$chrs = $this->reduce_string($chrs);
if($chrs == '') {
HTML_AJAX_JSON_IN_ARR) {
} 其他 {
返回 $obj;
}
$strlen_chrs = strlen($chrs);
c $substr_chrs_c_2 = substr($chrs, $c, 2);
可能'what'] == HTML_AJAX_JSON_SLICE))) {
🎜> array_push($stk, array( 'what' => HTML_AJAX_JSON_SLICE, 'where' => ($c + 1), 'delim' => false));
AX_JSON_IN_ARR) { //我們在一個陣列中所以只需將一個元素推入堆疊
} elseif(reset($stk) == HTML_AJAX_JSON_IN_OBJ) { // { 物件中,所以暫時找出屬性名稱並在關聯數組中設定一個元素
(S.*),?$/Uis', $slice, $parts)) { // //"name":值對
parts[1]);
$val = $this->decode($parts[2]);
OSE_TYPE) {
🎜>
}
}, ) { // 名稱:值對,其中名稱無引號
$val = $this->decode($parts[ if($this->use == HTML_AJAX_JSON_LOOSE_TYPE) {
$obj->$key = $val;
}
}
} elseif(( ($chrs{$c} == '"') || ($chrs{$c} == "'")) && ( $top['] != HTML_AJAX_JSON_IN_STR)) {what // ,且我們不在字串內
array_push($stk, array('])) $chrs{$c}));
/ /print("在{$c}n 處找到字串開頭");
} elseif(($chrs) {$ c)h]| ] == HTML_AJAX_JSON_IN_STR) && (($chrs{$c - 1} != "\") || ($chrs{$c - 1} == \"))) { // 找到一個引用,我們在一個字串中,而且它沒有轉義
//print("在{$c} 找到字串結尾:".substr($chrs, $top['where'], (1 + 1 + $c - $top['where'] ))."n");
$c}=='[')&& in_array($top['what'], array(HTML_AJAX_JSON_SLICE, HTML_AJAX_JSON_IN_ARR, HTML_AJAX_JSON_IN_OBJ))) { // 找到了一個左括號,我們位於陣列、物件或切片中
找到數組的開頭");
} elseif(($chrs{$c} == ==]') & elseif(($chrs{$c} == ==]') & 找到了一個右括號,我們在一個陣列中
array_pop($stk);
受e ']))。 , HTML_AJAX_JSON_IN_ARR, HTML_AJAX_JSON_IN_OBJ))) { // 找到了一個左-大括號,我們在一個陣列、物件或切片中
J, 'where' => $c, 'delim' = > false));
} elseif(($chrs{$c} == '}') && ($top ['what'] == HTML_AJAX_JSON_IN_OBJ)) { // 找到了一個右大括號,我們在一個物件
🎜> //print("在{$c} 處找到物件結尾:".substr($chrs, $top['where'], (1 + $c - $top['where']))。 「 n」);
} elseif(($substr_chrs c_21== SLICE, HTML_AJAX_JSON_IN_ARR, HTML_AJAX_JSON_IN_OBJ))) { // 找到評論開始,我們就處於一個陣列、物件或切片
$c, 'delim' => false));
> //print("在{$c}n 中找到註解 }elseif(($substr_chrs_c_2 == '*/') && ($top['what'] == HTML_AJAX_JSON_IN_CMT)) { // array_pop($stk);
$c++;
for($i = $chrs = substr_replace($chrs, '' ', $i, 1);
//print("在{$c} n”);
}
if(reset($stk) == HTML_AJAX_JSON_IN_ARR) {
} elseif(reset($stk) == HTML_AJAX_JSON_IN_OBJ) {
return $obj;
return $obj;
return $obj;
}
}
}
} 🎜> include_once "json. php";
函數json_encode($data) {
$ 🎜> }
函數json_decode($data) {
$json = new HTML_AJAX_JSON();
return 🎜>
以上就介紹了56com視訊擷取介面程式PHP,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。