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

Опубликовал 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:

РћРїСЂРѕСЃ

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

Загрузка ... Р—агрузка ...
  • РђСЂС…РёРІ РѕРїСЂРѕСЃРѕРІ