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
Новые статьи и публикации
- 2025-03-14 » SPF-запись
- 2025-03-07 » SEO на маркетплейсах: как оптимизировать карточку товара для поисковой выдачи
- 2025-02-18 » Топ-10 бесплатных нейросетей для генерации изображений: лучшие ии генераторы 2024 года
- 2025-02-11 » Критическая уязвимость в 1С-Битрикс
- 2025-02-11 » Google Search Console: руководство для начинающих вебмастеров
- 2025-02-11 » Методы измерения результативности рекламных кампаний: плюсы и минусы
- 2025-02-11 » Тренды SEO в 2025 году
- 2025-02-10 » Свой Google в локалке. Ищем иголку в стоге сена
- 2025-01-29 » SEO — это комплексная работа. Шесть главных факторов ранжирования сайтов
- 2025-01-29 » Гайд для главной страницы e-commerce сайта: как оформить, чтобы повысить конверсию
- 2025-01-20 » Krea AI выпустила бесплатную функцию преобразования изображений в 3D-объекты — их можно вращать и вписывать в фотографии
- 2025-01-19 » Отзывы на Яндекс Картах: как пройти модерацию
- 2025-01-15 » Топ-6 лучших российских нейросетей, в которых можно генерировать тексты и изображения бесплатно и без VPN
- 2025-01-14 » 15 бесплатных способов узнать, чем интересуется ваша аудитория
- 2025-01-11 » Бездепозитные бонусы в казино за регистрацию с выводом: особенности и возможности получения
- 2025-01-09 » Новая модель LAM способна выполнять задачи в Word
- 2024-12-26 » Универсальный промпт для нейросети: как выжать максимум из ChatGPT, YandexGPT, Gemini, Claude в 2025
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
Тому, кто способен укротить свое сердце, покорится весь мир. (Пауло Коэльо / СИЛА ВОЛИ ) |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.
Или напишите нам в WhatsApp
Или напишите нам в WhatsApp