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.
Полный текст кода смотрите ниже:
Код:
$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/
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-05-06 » Как настраивать конверсионные стратегии: работа над ошибками
- 2024-04-22 » Комментирование кода и генерация документации в PHP
- 2024-04-22 » SEO в России и на Западе: в чем основные отличия
- 2024-04-22 » SEO для международного масштабирования
- 2024-04-22 » Как использовать XML-карты для продвижения сайта
- 2024-04-22 » Цифровой маркетинг: инструменты для продвижения и рекламы в 2024 году
- 2024-04-22 » Что такое CSS-модули и зачем они нам?
- 2024-04-17 » 23 сервиса для эффективного экспресс-аудита любого сайта
- 2024-04-08 » Яндекс переходит на новую версию Wordstat
- 2024-04-08 » Яндекс интегрировал в свой облачный сервис эмпатичную нейросеть
- 2024-04-08 » Новая версия нейросети Claude превзошла по мощности аналоги Google и OpenAI
- 2024-04-08 » Как пользоваться GPT 4 и Claude бесплатно и без VPN
- 2024-03-13 » Стратегии SEO на 2024 год
- 2024-03-13 » Как использовать анимацию с помощью JavaScript-библиотеки GSAP
- 2024-03-13 » Использование GSAP 3 для веб-анимации
- 2024-03-13 » Cогласование топографической съёмки с эксплуатирующими организациями
- 2024-02-19 » Теряются лиды? Как настроить сквозную аналитику
- 2024-02-17 » Мерч и IT: на что обратить внимание в 2024 году
- 2024-02-16 » Копируем с RSync: основные примеры синхронизации файлов
- 2024-02-15 » Лучшие noCode AI платформы для создания диалоговых ботов
- 2024-02-14 » Факторы ранжирования Google 2024 — исследование Semrush
- 2024-02-12 » Перенос сайта на другой хостинг
- 2024-02-05 » В России сформирован реестр хостинг-провайдеров
- 2024-02-04 » Использование SSH для подключения к удаленному серверу Ubuntu
- 2024-02-03 » Подключаемся к серверу за NAT при помощи туннеля SSH. Простая и понятная инструкция
- 2024-02-02 » Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам
- 2024-02-01 » GitLab CI Pipeline. Запуск сценария через SSH на удаленном сервере
- 2024-01-29 » Introduction to GitLab’s CI/CD for Continuous Deployments
- 2024-01-26 » Настройка GitLab CI/CD
- 2024-01-25 » Установка shell gitlab runner
"Не пытайтесь перехитрить поисковые машины - надежность и доверие ценятся в сфере поискового маркетинга куда больше." |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.