PHP парсер ссылок на торрент

Автор : Акшонин Виталий
E-Mail: akshonin-собака-майл-ру
16 ноября 2011 года

Эта небольшая статья будет полезна вебмастерам, которые на своих интернет ресурсах предлагают фильмы, музыку, игры, софт или другой полезный контент который часто можно найти в торрент раздачах.

Обычно вебмастера делая новость для очередного медиа файла ставят ссылку на скачивание этого файла с популярных файлообмеников  - летитбит, депозит и тому подобные. Но как мы все знаем ссылки эти живут пока ими пользуются, и если этой ссылкой никто не пользовался она через месяц умирает, и соответственно посетители сайта увидев надпись «Запрашиваемый файл не найден» закроют страницу файлообменники и страницу вашего сайта.

Чтобы клиент (посетитель) остался довольным вашим ресурсом необходимо следить за живучестью ссылок или периодически обновлять ссылки на дееспособные. Работа эта очень кропотливая и нудная, но её вполне можно автоматизировать. Пусть, как говорят, работают механизмы.

Вечно живую ссылки на медиа файл мы будем брать на лету (в реальном времени) с бесплатного торрент трекера tfile.ru. Помимо ссылки на файл также подтянем название файла, размер файла, количество сидов и пиров (отдающих и принимающих).

Полный php код приведен ниже, а сейчас разберем механизм работы парсера.

Запрос к торрнет трекеру выглядит примерно так:

Код:

http://tfile.ru/forum/ssearch.php?q=__ИМЯ__&f=&g=&ql=&a=&d=&io=1&o=&size_min=0&size_max=0

__ИМЯ__ – например, убить боба.

На сайте результат запроса будет выглядеть так:

Получаем выдачу через регулярные выражения в свою переменную:

Код:

$text=file_get_contents($put);
preg_match("/Загрузка...\<\/center\>\<\/div\>(.*)\<div class=\"pager\"\>Страницы/msi",$text,$out);
$tfile=$out[1];

Нам необходимо отсеять ненужные ссылки и ненужный текст из получаной таблицы. Опишу кратко проделанные действия:

  • разделем текст на строки через <tr> и каждую строку через цикл (for) обрабатываем шаблонно;
  • для моего сайта я оставил только строки содержащие текст: мультфильм, аниме, фильм;
  • произвел прочие преобразования удалив ненужные теги и часть ненужного текста.

Результат получился следующим:

 

На моём сайте теперь всегда стоят живые ссылки с торрент трекера. Пример страницы на данный момент: http://kharitoshka.ru/video.php?id=20.

Полный текст кода смотрите ниже:

 

Код:

<?php

$put="http://tfile.ru/forum/ssearch.php?q=".urlencode($runame)."&f=&g=&ql=&a=&d=&io=1&o=&size_min=0&size_max=0";
$text=file_get_contents($put);
preg_match("/Загрузка...\<\/center\>\<\/div\>(.*)\<div class=\"pager\"\>Страницы/msi",$text,$out);
$tfile=$out[1];

$tfile=explode("<tr>",$tfile);
//print_r($tfile);
//$ft_echo .= count($tfile);

$ft_echo.="<table width=\"100%\">";
$ft_echo.="<tr>
    <td><b>Имя торрент файла</b></td>
    <td width=57><b>С | П</b></td>
    <td width=60><b>Размер</b></td>
    <td width=50><b>Ссылка</b></td>
</tr>
<tr><td colspan=\"4\"><hr></td></tr>
"
;

for($tfi=1;$tfi<=count($tfile);$tfi++)
{

    if(preg_match("/download\.php\?/i",$tfile[$tfi]) and (preg_match("/Мультфильмы/i",$tfile[$tfi]) or preg_match("/Фильмы/i",$tfile[$tfi]) or preg_match("/HD и DVD/i",$tfile[$tfi]) or preg_match("/Аниме/i",$tfile[$tfi]) or preg_match("/Мобильное видео/i",$tfile[$tfi])))    {
   
   
   
   
        // убираем сопли    
        $tfile[$tfi]=preg_replace("/        \<\/tr\>
   
\<\/table\>/msi"
,"<!-- /tab -->",$tfile[$tfi]);
    //$ft_echo .=  "<tr><!-- 39 --><!-- $tfi -->".$tfile[$tfi]."</tr><!-- /39 -->";
   
   
    $t1_file[$tfi]=preg_replace("/\<td class=\"f\"\>(.*)td class=\"t\">/msi","<td class=\"i\">",$tfile[$tfi]);
    $t2_file[$tfi]=preg_replace("/\<td class=\"ps\"\>(.*)\<\/nobr\>
            \<\/td\>/msi"
,"<tr>",$t1_file[$tfi]);
   
   
    $t3_file[$tfi]=preg_replace("/\<em\>/msi","",$t2_file[$tfi]);
    $t4_file[$tfi]=preg_replace("/\<\/em\>/msi","",$t3_file[$tfi]);
    $t5_file[$tfi]=preg_replace("/\<tr\>/msi","",$t4_file[$tfi]);
   
    $t5_file[$tfi]=preg_replace("/
                \<a href=\"\/forum\/viewtopic.php\?t=[0-9]{1,8}\"\>/msi"
,"",$t5_file[$tfi]);
    $t5_file[$tfi]=preg_replace("/\<\/a\>
            \<\/td\>
            \<td class=\"dl\">/msi"
,"</td>
            <td class=\"dl\">"
,$t5_file[$tfi]);                
   
   
    preg_match("/\<a href=\"(.*)\"\>[0-9]/msi",$t5_file[$tfi],$tf_url);   // выбираем ссылку
   
   
    $t6_file[$tfi]=preg_replace("/\<a href=\"\/forum\/download.php\?id=[0-9]{1,8}\">/msi","<td>",$t5_file[$tfi]);
    $t7_file[$tfi]=preg_replace("/\<\/a\>/msi","</td><td><a href=http://tfile.ru".$tf_url[1].">.torrent</a></td>",$t6_file[$tfi]);    
   
    $ft_echo.="<tr>".$t7_file[$tfi];
    $ft_echo.="<tr><td colspan=\"7\"><hr></td></tr>";
    }// if
}
$ft_echo.="</table>";

//echo strlen($ft_echo);
if(strlen($ft_echo)<=250)$content.="<h2 align=\"center\">К сожалению торрент файлы не найдены.</h2>";else$content.="<h2 align=\"center\">Скачать торрент $runame</h2>".$ft_echo."<br>";

?>

Данный код выкладываем на сервер отдельным файлом 'tfile.php'. В том месте где нам нужно получить блок с торрент ссыками вставляем:

Код:

include'tfile.php';
echo$content;

Оставлять комментарии могут только зарегистрированные пользователи.

Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.

Источник: http://feedproxy.google.com/~r/codenet/read/~3/_v2du4DbgMI/

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

PHP парсер ссылок на торрент | | 2012-09-13 08:46:47 | | Программирование | | Автор : Акшонин ВиталийE-Mail: akshonin-собака-майл-ру16 ноября 2011 годаЭта небольшая статья будет полезна вебмастерам, которые на своих интернет ресурсах предлагают фильмы, музыку, игры, софт или | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: