Как стать автором
Обновить

Обновлено: Прикручиваем Torrents.ru к Vuze

Время на прочтение3 мин
Количество просмотров880
Не так давно наткнулся в ЖЖ самизнаетекого на ссылку на программу Vuze. Прошел по ссылке, посмотрел и ничего не понял. А сегодня в замечательном жж-сообществе ru_mac увидел вопрос: как добавить с список трекеров, по которым проходит поиск, всем известный «национальный битторрент трекер Torrents.ru? Вот тут-то я и заинтересовался этой программой по-настоящему. Скачал, поставил, полазил по меню, и задался тем же самым вопросом: действительно, как бы MiniNova и BTJunkie — это, конечно интересно, но как же искать русскую музыку и фильмы на русском языке?

To add a site start a search. You will now find the option to edit and add sites to the search appears on the right. Adding a site can be a little tricky, requiring knowledge of regular expressions, but if somebody has already created a template you can import that instead.

И ни слова о подводных камнях? Ладно, посмотрим. Вводим в строку поиска, например, «Сплин», и получаем горькое No Results. Жмем Add/Edit справа, и видим следующую красоту:



Поиск в Google существующего шаблона ничего не дает (и понятно почему, но об этом далее), поэтому придется все делать самим. Жмем Create a custom template, выбираем Regular Expression и тыкаем Continue. В следующем окне в поле Template name вводим название шаблона, Search Method оставляем GET, а в поле URL to search вводим torrents.ru/forum/tracker.php?nm=%s и помечаем Requires Login — Vuze откроет окно с формой авторизации:



Логинимся (по результатам экспериментов, логиниться лучше в верхней форме, не забыв там пометить галочкой флажок Запомнить) и нажимаем Done. Пробегаем глазами ничего не говорящий список обнаруженных cookie и вбиваем в поле Preview search term, например, тоже «Сплин». Vuze подумает немного, и выведет более 9000 знаков трудночитаемого HTML:



Не пугаясь, тут же вводим противоядие в поле Regular Expression:

<tr class="tCenter">\s*<td[^>]+>.*?</td>\s*<td[^>]+>.*?</td>\s*<td[^>]+><a[^>]+>(.*?)</a></td>\s*<td[^>]+>\s*<div>\s*<a.*?href="([^"]+)"><b>(.*?)</b></a>\s*</div>\s*</td>\s*<td[^>]+>.*?</td>\s*<td[^>]+>\s*<u>(\d+)</u>\s*<a.*?href="([^"]+)">(.*?)</a>\s*</td>\s*<td[^>]+><b>(\d+)</b></td>\s*<td[^>]+><b>(\d+)</b></td>\s*<td[^>]+>(\d+)</td>\s*<td[^>]+>\s*<u>(\d+)</u>\s*<p>([^<]+)</p>\s*<p>([^<]+)</p>\s*</td>\s*</tr>

Нажимаем Continue. Vuze предложит указать, где что, я выбрал следующим образом:
1 — Category
2 — Item details link
3 — Title
4 — File size
5 — Torrent file link
7 — Number of seeds
8 — Number of peers

К сожалению, дату (в том виде, как она показана на Torrents.ru) Vuze пропарсить не сможет.

Теперь о подводном камне. Дело в том, что Torrents.ru, как древний мамонт, до сих пор использует Windows-1251 в качестве кодировки, в итоге большая часть результатов при поиске русскоязычных (и не только) наименований будет нечитаема. Я запостил-было вопрос в форум поддержки Vuze, но, похоже, что встроенными средствами проблему решить не удастся, поэтому я по-быстрому написал скриптик, который служит мостом между Vuze и Torrents.ru, превращая Windows-1251 последнего в человеческий UTF-8. Скачиваем, заливаем на свой сервер, и вместо «родного» URL to search указываем http://«адрес сервера»/torrents_gateway.php?nm=%s.

Ну вот, теперь замечательная программа стала еще более замечательной и полезной. Кстати, по всей видимости, Vuze хранит данные авторизации внутри шаблона, именно поэтому готовых шаблонов для Torrents.ru в интернете нет и не будет. Ну а я благодарю за потраченное внимание и откланиваюсь.

UPDATE: после моих настойчивых просьб разработчики внесли нужные правки, и теперь Vuze понимает Windows-1251 как родной! Скачиваем апдейт и заменяем файл Azureus2.jar (в моем случае — Mac OS X — он находится в папке /Applications/Vuze.app/Content/Resources/Java). Кстати, в этом апдейте есть еще вкусности, которых нет в официальной версии — правда, в них я еще не копался (в частности, вкладка Devices вызывает неподдельный интерес).
Теги:
Хабы:
Всего голосов 11: ↑10 и ↓1+9
Комментарии6

Публикации

Истории

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург