История написания приложения для парсинга фильмов с Рутрекера
Приветствую пикабушников. Буквально вчера дописал и выложил в Гугл маркет своё свеженькое приложенице. Оно очень небольшое, разработка заняла у меня чуть больше двух недель. В этом посте хочу поделиться опытом создания и, что самое важное - буду рад любым советам и пожеланиям от вас.
ПРИМЕЧАНИЕ: кто не хочет читать весь пост, но хочет пощупать само приложение - ссылка в конце поста.
Предпосылки к появлению приложения
В последнее время, заметил, что бОльшую часть цифрового контента я получаю с Рутрекера - фильмы, игры, музыку, книги и т.д. Раньше фильмы частенько смотрел с сайтов прям в онлайне, что называется без смс и регистрации, зато сомнительного качества и с тоннами рекламы каких-то топоров :)
Но сейчас эти сайты куда-то пропали, видимо их стали душить ещё на этапе попадания в результаты поиска. Ну и бог с ними, мне никогда в общем-то это не нравилось. Так что торренты и Rutracker - это наше всё.
В чём задумка?
С рутрекером всё отлично, кроме отображения сайта на смартфоне. Для ПК ещё есть удобные средства доступа к сайта, да и заточен сайт был для отображения на большом экране.
Отсюда и родилась идея - сделать приложение, в котором в удобном формате быстро и просто можно было бы просмотреть что новенького и годного выложили на трекер, допустим из фильмов. И я решил, что это будет супер просто, но всё оказалось не так уж гладко, как хотелось бы..
Немножко уличной магии
Весь принцип работы упирается в парсинг Rutracker’а. То есть мы в приложении делаем http-запрос на какую-то ветку форума, например, со списком фильмов и разбираем HTML-ответ, походу выуживая полезные данные, такие как: название фильма, автор раздачи, ссылка на страницу фильма и т.д.
Дальше красиво и стильно выводим этот список уже в нашем Android-приложении, но…
Проблема №1 - блокировки блокировочки
После небольшого исследования ситуации, я понял, что есть два пути обойти эту проблему:
1) Использовать TOR
2) Использовать рабочие зеркала Рутрекера
Сначала я повозился с ТОРом, но выяснилось, что это сложно в реализации, а кроме того плохо, медленно и нестабильно работает. Хотя, возможно, в будущем вернусь к этому варианту.
Остаётся и использовать незаблокированные зеркала. Тут дело обстоит лучше. Но, как выяснилось, зеркала рутрекера не “пускают” почти никуда (например на ветку с фильмами) без авторизации. А потому…
Проблема №2 - а ты кто?! Вход только для своих!
Пришлось реализовывать авторизацию на форуме прямо из приложения. У сайта есть форма авторизации и можно из приложения делать POST-запрос, эмулирующий отправку этой формы (логин, пароль), тогда сайт авторизует тебя.
Но и тут была небольшая проблемка - капча. Пришлось картинку капчи тоже отлавливать и выводить на экран логина.
Наконец всё работает!
Ну вот, когда были разрешены эти проблемы, то приложение заработало как надо. Оставалось только подготовить няшные скриншоты, отключить логи, подписать приложение, проверить, чтоб нигде не выдавалось ничего матерного…ой, то есть отладочного на экран и вуаля - приложение красуется в Маркете.
Благодарю всех, кто дочитал до этого момента! Если есть вопросы - по реализации или
по использованию приложения задавайте, постараюсь ответить :)
Сайт с приложением: https://torba4me.github.io/
А разве там нет RSS уже более 10 лет? Я ещё в те времена фильтровал только то, что мне надо (выход новых серий сериалов).
А также: https://4pda.ru/forum/index.php?showtopic=589823
Спасибо за наводку...про это приложение не знал.
Код покажи
проблема № 1 - вот это почитай, может пригодится.
https://habr.com/ru/post/335436/
RSS - не, не слышал?
Я правильно понимаю, что ты предлагаешь использовать свои креды на рутрекере для авторизации через твоё приложение? Мде. Секьюрненько, слов нет.
Friend, любой сторонний клиент какого угодно сервиса так делает. Кроме того, Рутрекер сам не против появления сторонних зеркал, потому что сервис и так забанен.
Как бы даа, но во-первых, ты позиционируешь свою аппликуху не как сторонний клиент для рутрекера, а как парсер новинок, а во-вторых, хороший тон, когда сторонние клиенты выкладывают сорсы ссылочкой на репку, чтобы можно было глянуть, что конкретно твоё приложение будет делать с моими кредами.
В остальном, коммитить в опенсорс - добро. Моё, так сказать, увожение;)
Хм, похвально конечно, что сам написал, но ведь есть клиент рутрекера - Flow, в маркете его, правда нет, на 4pda найдете
Ага, да. Про Flow узнал вчера, буквально когда просматривал Маркет. Судя по скринам - качественная прога :)
Плюсанул. Может быть тебе поможет еще Bit Che. Вроде там опен сорс и чуваки типа тоже побное делуют
Спасибо!