Автор : Акшонин Виталий
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];
Нам необходимо отсеять ненужные ссылки и ненужный текст из получаной таблицы. Опишу кратко проделанные действия:
Результат получился следующим:
На моём сайте теперь всегда стоят живые ссылки с торрент трекера. Пример страницы на данный момент: 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/
Источник: