Рубрики

Лучшие статьи

Автоматическая скачивание торрентов

Опубликовал 6 декабря 2011 в рубрике Скрипты. Комментарии: Комментариев нет   Просмотров: 151 просмотров

Автоматическая скачивание торрентовДавным давно хотел реализовать на домашнем сервачке сервис по автоматическому скачиванию необходимых мне торрентов. Речь идёт конечно же о всеми любимых сериалах. Выходит очередная серия – скрипт проверяет, есть ли она на локальном диске и, если таковой нету, скачивает обновляет торрент файлик, а торрент клиент, в моём случае это rtorrent, качает в нужную папку.

Задача не сильно хитрая, но поморочиться заставила. Зато теперь у меня постоянно скачиваются нужные мне сериалы в автоматическом режиме. Не надо проверять трекер на наличие обновлений. Да, лень – двигатель прогресса :)

Система состоит из нескольких частей. Основа это, конечно же RSS каналы на трекере. В моём примере это небезисвестный rutracker. RSS закидываем в Google Reader. Я использую этот веб-сервис в качестве RSS-читалки по умолчанию. Поэтому проблем никаких не было с этой частью.

Следущим этапом будет экспорт ленты с сериалом в Yahoo Pipes, мощнейший инструмент которого будем использовать. Открываем заготовку и добавляем необходимые фильтры. Например, я хочу скачать сериал Dexter в качестве 720p с субтитрами. Параметры моей трубы такие в этом случае:

  • item.y:title – 720p
  • item.y:title – rus sub
  • item.link – http://rutracker.org/forum/viewtopic.php?t=3758556

Последнее это ссылка на тему. Остальное думаю понятно.

Теперь копируем ссылку Get as RSS в основном окне Yahoo Pipes. Этот RSS канал будем тянуть по крону на сервере нашем.

/usr/bin/wget -O /home/maf/downloaded/dexter.out http://get_as_rss_link >> /dev/null 2>&1

У меня стоит данная команда каждые 15 минут.

Осталось самое главное – скрипт скачки. Выглядит так

#!/usr/bin/perl

use HTML::TokeParser;
$dir=»/usr/home/maf/downloaded»;

system(«/usr/bin/wget –keep-session-cookies –save-cookies ./.cookies –post-data 'login_username=your_rutracker_login&login_password=your_rutracker_pass&login=%C2%F5%EE%E4'  http://login.rutracker.org/forum/login.php -O result.html»);

#—-documental rss
$p = HTML::TokeParser->new(«$dir/documental.out»);
while ($token = $p->get_tag(«a»)) {
$url = $token->[1]{href} || «-»;
$text = $p->get_trimmed_text(«/a»);
$dlurl=$url;
$dlurl =~ s/http:\/\/rutracker.org\/forum\/viewtopic.php\?t=/http:\/\/dl.rutracker.org\/forum\/dl.php\?t=/;

($p1,$p2)=split('=',$url);
#print $p2;
if( -e «$dir/$p2.torrent»)
{
print «$p2.torrent is exist. Exiting!\n»
#exit;
}
else
{
system(«/usr/bin/wget  $dlurl -O $dir/\»$p2.torrent\» –post-data=\»t=$p2\» –header=\»Content-Type: application/x-www-form-urlencoded\» –referer=\»$url\» –load-cookies .cookies –keep-session-cookies»);
system(«/bin/cp $dir/$p2.torrent /usr/home/maf/data/torrents/documental»);
}
}

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

Поделись:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • LiveJournal
  • MySpace
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • LinkedIn
  • Technorati
  • del.icio.us
  • Digg
  • БобрДобр
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок
  • Blogger
  • Блог Li.ру
  • Блог Я.ру
  • Одноклассники

Метки: ,
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Загрузка ... Загрузка ...



Оставить комментарий или два

RSS

rss Подпишитесь на RSS для получения обновлений.

Add to Google Reader or Homepage

Подписаться на рассылку E-Mail:

Опрос

Статьи на какую тему Вам более интересны?

Просмотреть результаты

Загрузка ... Загрузка ...