2012-09-30 Дата: Воскресенье, 30.09.2012, 20:38 | Сообщение #1 | Тема: Помощь по php скриптам !!!
Рядовой
Группа: Проверенные
Статус: Offline
Здраствуйте есть у меня, парсер с Tfile.ru Имеется такой под ucoz,уникальный в своём роде. Парсит по титлу и показывает сидов и пиров,хотя и ненадо нечего более. Проблема в том что человек написавший его в данный момент в армии и по ходу все алгоритмы поменялись на источники для правильной его работы. Понимаю глупо какого то просить править чужие нароботки,но может всё таки так сказать для всеобщего блага может кто и возьмётся. Надеюсь на вас и ещё раз повторюсь что это просьба,также может кого то и заинтересует у кого кино сайты,спасибо приложу код на всякий так сказать покажу для всех.
Code
<?php function cp1251_to_utf8 ($txt) { $in_arr = array ( chr(208), chr(192), chr(193), chr(194), chr(195), chr(196), chr(197), chr(168), chr(198), chr(199), chr(200), chr(201), chr(202), chr(203), chr(204), chr(205), chr(206), chr(207), chr(209), chr(210), chr(211), chr(212), chr(213), chr(214), chr(215), chr(216), chr(217), chr(218), chr(219), chr(220), chr(221), chr(222), chr(223), chr(224), chr(225), chr(226), chr(227), chr(228), chr(229), chr(184), chr(230), chr(231), chr(232), chr(233), chr(234), chr(235), chr(236), chr(237), chr(238), chr(239), chr(240), chr(241), chr(242), chr(243), chr(244), chr(245), chr(246), chr(247), chr(248), chr(249), chr(250), chr(251), chr(252), chr(253), chr(254), chr(255) ); $out_arr = array ( chr(208).chr(160), chr(208).chr(144), chr(208).chr(145), chr(208).chr(146), chr(208).chr(147), chr(208).chr(148), chr(208).chr(149), chr(208).chr(129), chr(208).chr(150), chr(208).chr(151), chr(208).chr(152), chr(208).chr(153), chr(208).chr(154), chr(208).chr(155), chr(208).chr(156), chr(208).chr(157), chr(208).chr(158), chr(208).chr(159), chr(208).chr(161), chr(208).chr(162), chr(208).chr(163), chr(208).chr(164), chr(208).chr(165), chr(208).chr(166), chr(208).chr(167), chr(208).chr(168), chr(208).chr(169), chr(208).chr(170), chr(208).chr(171), chr(208).chr(172), chr(208).chr(173), chr(208).chr(174), chr(208).chr(175), chr(208).chr(176), chr(208).chr(177), chr(208).chr(178), chr(208).chr(179), chr(208).chr(180), chr(208).chr(181), chr(209).chr(145), chr(208).chr(182), chr(208).chr(183), chr(208).chr(184), chr(208).chr(185), chr(208).chr(186), chr(208).chr(187), chr(208).chr(188), chr(208).chr(189), chr(208).chr(190), chr(208).chr(191), chr(209).chr(128), chr(209).chr(129), chr(209).chr(130), chr(209).chr(131), chr(209).chr(132), chr(209).chr(133), chr(209).chr(134), chr(209).chr(135), chr(209).chr(136), chr(209).chr(137), chr(209).chr(138), chr(209).chr(139), chr(209).chr(140), chr(209).chr(141), chr(209).chr(142), chr(209).chr(143) ); $txt = str_replace($in_arr,$out_arr,$txt); return $txt; } function translitIt($str) { $tr = array( "нћїнѕў=>"A","нћїнїў=>"B",""=>"V","b=>"G", "Вў=>"D","Гў=>"E","Дў=>"J","Еў=>"Z","Жў=>"I", "Зў=>"Y","Иў=>"K","Йў=>"L","Кў=>"M","Лў=>"N", "Мў=>"O","Нў=>"P","Оў=>"R","Пў=>"S","Рў=>"T", "Сў=>"U","Тў=>"F","Уў=>"H","Фў=>"TS","Хў=>"CH", "Цў=>"SH","Чў=>"SCH","Шў=>"","Щў=>"YI","Ъў=>"", "Ыў=>"E","Ьў=>"YU","Эў=>"YA","нћєн°Ѕ>"a","нћѕн°Ѕ>"b", "а Ѕ>"v","б Ѕ>"g","в Ѕ>"d","г Ѕ>"e","д Ѕ>"j", "е Ѕ>"z","ж Ѕ>"i","з Ѕ>"y","и Ѕ>"k","й Ѕ>"l", "к Ѕ>"m","л Ѕ>"n","м Ѕ>"o",">"p","н™ѓн»ѕ"r", "нќѓн»ѕ"s","р »ѕ"t","с »ѕ"u","т »ѕ"f","у »ѕ"h", "н±ѓн»ѕ"ts","нµѓн»ѕ"ch",""=>"sh",""=>"sch",""=>"y", ""=>"yi",""=>"",""=>"e",""=>"yu",""=>"ya" ); return strtr($str,$tr); } define('ROOT_DIR', dirname(__FILE__)); $time_sec=time(); $time_file=@filemtime(ROOT_DIR.'/cache/'.str_replace(" ",'_',str_replace("/",'-', trim(strip_tags(translitIt($_GET['title']))))).'.js'); $time=$time_sec-$time_file; $get_file_s=@file_get_contents(ROOT_DIR.'/cache/'.str_replace(" ",'_',str_replace("/",'-', trim(strip_tags(translitIt($_GET['title']))))).'.js'); if($get_file_s&&$time<(3600*24)){ echo "torrents='/php/cache/".str_replace(" ",'_',str_replace("/",'-', trim(strip_tags(translitIt($_GET['title']))))).".js';"."\n".' $.getScript(torrents, function(){ $(\'#torrents\').html(torrents); });'; } else { function UTF8toCP1251($str) { static $table = array("\xD0\x81" => "\xA8", // "\xD1\x91" => "\xB8", // // н±Їн± й®±л©Ґ т©ўп¬» "\xD0\x8E" => "\xA1", // (С© "\xD1\x9E" => "\xA2", // (с§€ "\xD0\x84" => "\xAA", // (Ы© "\xD0\x87" => "\xAF", // (I..) "\xD0\x86" => "\xB2", // I (I) "\xD1\x96" => "\xB3", // i (i) "\xD1\x94" => "\xBA", // () "\xD1\x97" => "\xBF", // (i..) // о‚’ні т«©Ґ т©ўп¬» "\xD3\x90" => "\x8C", // Ӑ (нћїнѕ© "\xD3\x96" => "\x8D", // Ӗ (Г© "\xD2\xAA" => "\x8E", // Ҫ (П© "\xD3\xB2" => "\x8F", // Ӳ (С© "\xD3\x91" => "\x9C", // ӑ (нћєн·Љ "\xD3\x97" => "\x9D", // ӗ (г§Љ "\xD2\xAB" => "\x9E", // ҫ (нќњнё "\xD3\xB3" => "\x9F", // ӳ (с§€‰); return preg_replace('#([\xD0-\xD1])([\x80-\xBF])#se', 'isset($table["$0"]) ? $table["$0"] : chr(ord("$2")+("$1" == "\xD0" ? 0x30 : 0x70)) ', $str ); } $proxy_list = explode("\r\n",file_get_contents(ROOT_DIR.'/one_pice/proxy.txt')); function search_torrent($query) { global $proxy_list; $proxy=explode(":",$proxy_list[rand(0,(count($ProxyList)-1))]); // $query = str_replace(" ", "+", iconv('windows-1251', 'UTF-8', $query)); $query = str_replace(" ", "+", $query); $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,"http://tfile.ru/forum/ssearch.php?q={$query}"); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); $r = curl_exec($curl); curl_close($curl); $result = $r; $result =$result; $find2 = ""; $p1 = "#<table id=\"topics\">(.*?)</table>#si"; preg_match($p1,$result,$matches); $result = $matches[1]; #preg_match_all('#<a class="downgif" href="/download/(.[0-9]*)"><img src="http://s.rutor.org/i/d.gif" alt="D" /></a>(.*)<a href="/torrent/(.*)">(.*)</a>(.*)<td align="right">([0-9]*..?[0-9]+.?) (.[A-Z]*)</td><td align="center"><span class="green"><img src="http://s.rutor.org/t/arrowup.gif" alt="S" /> (.[0-9]*)</span> <img src="http://s.rutor.org/t/arrowdown.gif" alt="L" /><span class="red"> (.[0-9]*)</span>#Uis', $result, $find); preg_match_all('#<tr>(.*?)</tr>#is', $result, $find); $parse=array( 'originalname'=> '#<td.+?class="t">(.*?)</td#si', 'sid'=> '#<b.+?class="sd">(.*?)</b>#si', 'pir'=>'#<b.+?class="lc">(.*?)</b>#si', 'id-dw'=>'#<td class="dl">.+?<a.+?id=(.+?)">.+?</td>#si', 'raze'=>'#<td class="dl">.+?<a.+?>(.+?)</a>.+?</td>#si', ); $new=array(); for ($i=1; $i < count($find[0]); $i++) { foreach($parse as $index => $value) { $pattern = "/(\\n(\\r)?)|(\\r(\\n)?)/m"; preg_match($value,preg_replace("/(\n|\r|\n\r|\r\n)/", "",$find[0][$i]),$matches); $new[$i][$index]=preg_replace("#<a.+?>(.+?)</a>#is","$1",trim($matches[1])); preg_replace($pattern, $new[$i][$index],$new[$i][$index]); } } // print_r($find); $count = intval(count($find['1'])); $i = 0; $find2 = ""; while ($i < $count - 1) { $i++; $find['2'][$i] = str_replace("http://s.rutor.org/i/m.png", "/magnet.png", $find['2'][$i]); $find['2'][$i] = str_replace("magnet:", "magnet:", $find['2'][$i]); $is = $i; if($new[$i]["id-dw"]>0){ $find2 .= <<<HTML <table class="dwntorrent_tblc" border="0" cellpadding="3" cellspacing="0" width="100%"> <tbody> <tr><td> <table id="torrent_table_file" border="0" cellpadding="3" cellspacing="1" width="100%"><tbody> <tr><td bgcolor="#191b20"><b>О иЈ о©Ґ:</b></td><td bgcolor="#191b20"><span id="torrent_name">{$new[$i]['originalname']}</span> </td> </tr> <tr><td bgcolor="#191b20"><b>ТЁе№є</b></td><td class="dwntorrent_down" bgcolor="#191b20"><span class="dwntorrent_up"><img src="/torinfo/up1.gif" border="0"><span id="total_seeds">{$new[$i]["sid"]}</span></span></td></tr> <tr><td bgcolor="#191b20"><b>РЁс№ёј/b></td><td class="dwntorrent_down" bgcolor="#191b20"><img src="/torinfo/down1.gif" border="0"><span id="total_peers">{$new[$i]["pir"]}</span></td></tr> <tr> <td bgcolor="#191b20"> <b>С иҐн™‡нµ к¬ :</b> </td> <td class="torrent_size" bgcolor="#191b20"> <span id="torrent_size">{$new[$i]["raze"]}</span> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <div style='float:right;overflow: hidden;height: 37px;margin-right:15px;'><div class="download_but" style='float:left;'> <a class="download" href="javascript:rt_link('{$new[$i]["id-dw"]}','tfile')"></a> </div></div> <div style='clear:both;'></div> <br /> HTML; } } $query=iconv('windows-1251','UTF-8',$query); $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,"http://rutor.org/search/0/0/100/0/$query"); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5'); $r = curl_exec($curl); curl_close($curl); $result = $r; $result = UTF8toCP1251($result); $p1 = strpos($result, "<table width=\"100%\"><tr class=\"backgr\">"); $p2 = strpos($result, "</table><b>ТІсЎ®Ёнѕ¦н°©; $result = substr($result, $p1, $p2 - $p1); preg_match_all('#<a class="downgif" href="/download/(.[0-9]*)"><img src="http://s.rutor.org/i/d.gif" alt="D" /></a>(.*)<a href="/torrent/(.*)">(.*)</a>(.*)<td align="right">([0-9]*..?[0-9]+.?) (.[A-Z]*)</td><td align="center"><span class="green"><img src="http://s.rutor.org/t/arrowup.gif" alt="S" /> (.[0-9]*)</span> <img src="http://s.rutor.org/t/arrowdown.gif" alt="L" /><span class="red"> (.[0-9]*)</span>#Uis', $result, $find); // print_r($find); $count = intval(count($find['1'])); $i = -1; while ($i < $count - 1) { $i++; $find['2'][$i] = str_replace("http://s.rutor.org/i/m.png", "/magnet.png", $find['2'][$i]); $find['2'][$i] = str_replace("magnet:", "magnet:", $find['2'][$i]); $is = $i + 1; $find2 .= <<<HTML <table class="dwntorrent_tblc" border="0" cellpadding="3" cellspacing="0" width="100%"> <tbody> <tr><td> <table id="torrent_table_file" border="0" cellpadding="3" cellspacing="1" width="100%"><tbody> <tr><td bgcolor="#191b20"><b>О иЈ о©Ґ:</b></td><td bgcolor="#191b20"><span id="torrent_name">{$find['4'][$i]}</span> </td> </tr> <tr><td bgcolor="#191b20"><b>ТЁе№є</b></td><td class="dwntorrent_down" bgcolor="#191b20"><span class="dwntorrent_up"><img src="/torinfo/up1.gif" border="0"><span id="total_seeds">{$find['8'][$i]}</span></span></td></tr> <tr><td bgcolor="#191b20"><b>РЁс№ёј/b></td><td class="dwntorrent_down" bgcolor="#191b20"><img src="/torinfo/down1.gif" border="0"><span id="total_peers">{$find['9'][$i]}</span></td></tr> <tr> <td bgcolor="#191b20"> <b>С иҐн™‡нµ к¬ :</b> </td> <td class="torrent_size" bgcolor="#191b20"> <span id="torrent_size">{$find['6'][$i]} {$find['7'][$i]}</span> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <div style='float:right;overflow: hidden;height: 37px;margin-right:15px;'><div class="download_but" style='float:left;'> <a class="download" href="javascript:rt_link('{$find['1'][$i]}','rutor')"></a> </div></div> <div style='clear:both;'></div> <br /> HTML; } // $find2 = $result; if (!$find2 or $find2 == "") { $finds = ""; } else { $finds = <<<HTML {$find2} HTML; } return ($finds); } //$title = iconv('utf-8', $config['charset'], trim(strip_tags($_POST['title']))); $_GET['title']=UTF8toCP1251($_GET['title']); if (strpos($_GET['title'],'/') !== false){ $title =explode('/',$_GET['title']); if(preg_match('[^A-Za-z0-9]u', $title[0])){$title = trim(strip_tags($title[1]));} else $title = trim(strip_tags($title[0])); }elseif(strpos($_GET['title'],'(') !== false){ $title =explode('(',$_GET['title']); $title = trim(strip_tags($title[0])); } else $title = trim(strip_tags($_GET['title'])); $asd= search_torrent($title); if(empty($asd)){ header("Content-type: text/javascript; charset=utf-8"); echo "$('#torrents').html('".cp1251_to_utf8('У®с±¦рЎ®Ґ оЎ©е¦')."');";} else{ $asd= str_replace("\n",'','var torrents=\''.str_replace("'","\'",$asd).'\';'); @unlink(ROOT_DIR.'/cache/'.str_replace(" ",'_',str_replace("/",'-', trim(strip_tags(translitIt($_GET['title']))))).'.js'); file_put_contents(ROOT_DIR.'/cache/'.str_replace(" ",'_',str_replace("/",'-', trim(strip_tags(translitIt($_GET['title']))))).'.js',cp1251_to_utf8($asd)); // 6 echo "torrents='http://kinouser.ipurl.ru/cache/".str_replace(" ",'_',str_replace("/",'-',trim(strip_tags(translitIt($_GET['title']))))).".js';"."\n".' $.getScript(torrents, function(){ $(\'#torrents\').html(torrents); });'; } } ?>
Мало того есть ещё и скрипт сидов и пиров,который был куплен у Picasso и также изменён тем человеком. И тоже не хотит полноценно робить можете глянуть ща он у меня стоит на сайте,долго робил пока кинозальцы что то не поменяли у себя.А до Picasso я не знаю уже как достучатьсяДобавлено (30.09.2012, 20:38) --------------------------------------------- Парсер готов тема закрыта про него Теперь с сидами проблема только осталась,есть ли здесь те кто сможет написать скрипт сидов и пиров
Сообщение отредактировал vadim74321 - Воскресенье, 02.09.2012, 20:43