Введение
Я активно пользуюсь сервисом Google Reader для чтения
RSS-каналов в общем и для отслеживания появления интересующих меня
раздач на torrent-трекерах в частности. А также частенько качаю с
торрентов любимые сериалы. В некоторый момент захотелось избавиться от
промежуточных шагов между просмотром записи канала и скачиванием
торрента и немного автоматизировать процесс вылавливания из сети
интересной и нужной информации.
Вряд ли для кого-то окажется
откровением то, что если не все, то почти все современные
torrent-клиенты поддерживают загрузку RSS-каналов и даже автоматическую
загрузку торрентов из этих каналов. Но, как правило, большая часть
выдаваемых определенным каналом раздач мне просто не нужна. Да и
дисковое пространство далеко не резиновое и выкачивать все возможные
раздачи любимого, например, сериала не представляется возможным. Я не
настолько большой фанат, чтобы держать на дисках одновременно несколько
версий одной и той же серии или фильма.
На этом месте
внимательный читатель непременно заметит: так ведь можно на каждый
RSS-канал средствами torrent-клиента настроить фильтры и выкачивать
только те раздачи, которые представляют реальный интерес. Заметит и
получит резонный, по-моему, ответ: на все случаи жизни фильтры не
настроишь. Нужен более универсальный вариант.
Таким вариантом для
меня стала автоматическая закачка раздач, отмеченных в Google Reader. О
том, как это реализовать подручными средствами, рассказано под катом.
Детали конструктора
Для успешного решения задачи нам нужны:
-
установленный и работоспособный rtorrent с rutorrent в качестве
front-end и следующими плагинами: RSS, RSSURLRewrite и LoginMgr
(последний служит для скачивания раздач с torrent-трекеров, требующих
авторизации и в общем случае необязателен, но для моего примера нужен).
- подписка в Google Reader на нужные RSS-каналы с раздачами
- чудо-юдо рыба-сервис Yahoo Pipes
- немного времени
Шаг первый — настраиваем вывод всех отмеченных в Google Reader записей в отдельный канал
Для
того чтобы список отмеченных записей был доступен извне Google Reader
необходимо сделать такие записи общими. Для этого открываем настройки
Google Reader и в меню «Папки и теги» одним кликом мыши превращаем
личные записи
в общедоступные
Если у вас по какой-то причине нет желания делать общими именно «Ваши отмеченные записи», все дальнейшие операции можно проделывать и с записями которые находятся в списке «Ваши общие записи».
Далее открываем страницу с отмеченными записями, пройдя по ссылке «посмотреть открытую страницу» напротив соответствующей общедоступной папки и копируем URL канала с отмеченными записями:
Он имеет следующий вид:
http://www.google.com/reader/public/atom/user/%googleuserid%/state/com.google/starred
И все бы хорошо, только вот Reader умеет отдавать результат только в формате Atom-канала, а существующие плагины для rutorrent успешно работают только с RSS. Здесь мы и воспользуемся Yahoo Pipes.
Шаг второй — преобразование atom в RSS
Yahoo Pipes требует регистрации, но это не станет большой загвоздкой, так как авторизация возможна при помощи существующей учетной записи Google и понадобится нам всего один раз для создания соответствующего пайпа.
Данный и последующие этапы рассмотрим на примере RuTracker.org.
Дабы не углубляться в изучение этого, прямо скажем, очень мощного сервиса, мы клонируем созданный для этой цели простой пайп-полуфабрикат. В нем необходимо будет указать ссылку на atom-канал и настроить фильтр, которым будут отсеиваться заведомо ненужные записи (в данном случае — не содержащие в себе ссылки на раздачу), но обо всем по порядку:
- открываем http://pipes.yahoo.com/pipes/
- Sign In -> Sign in with Google (безусловно, можно выбрать любой другой доступный вариант аутентификации)
- открываем заготовленный пайп-полуфабрикат
- жмем Clone
- редактируем поля с именем, описанием и ссылкой на пайп по вкусу
- открываем редактор, нажав на кнопку Edit Source
- вводим полученный на предыдущем шаге URL в одноименное поле блока Fetch Feed
В блоке Filter можно настроить гибкую фильтрацию сообщений исходного канала при помощи солидного количества предлагаемых фильтров. Обратите внимание на область Debugger внизу экрана. В ней можно оценить вывод любого из блоков пайпа.
Сохраняем наш пайп кнопкой Save, запускаем его (Run Pipe…).