История написания приложения для парсинга фильмов с Рутрекера

Приветствую пикабушников. Буквально вчера дописал и выложил в Гугл маркет своё свеженькое приложенице. Оно очень небольшое, разработка заняла у меня чуть больше двух недель. В этом посте хочу поделиться опытом создания и, что самое важное - буду рад любым советам и пожеланиям от вас.

ПРИМЕЧАНИЕ: кто не хочет читать весь пост, но хочет пощупать само приложение - ссылка в конце поста.

История написания приложения для парсинга фильмов с Рутрекера Приложение на Android, Android разработка, Программирование, Рутрекер-зеркало, Приложение, Java, Длиннопост

Предпосылки к появлению приложения

В последнее время, заметил, что бОльшую часть цифрового контента я получаю с Рутрекера - фильмы, игры, музыку, книги и т.д. Раньше фильмы частенько смотрел с сайтов прям в онлайне, что называется без смс и регистрации, зато сомнительного качества и с тоннами рекламы каких-то топоров :)

Но сейчас эти сайты куда-то пропали, видимо их стали душить ещё на этапе попадания в результаты поиска. Ну и бог с ними, мне никогда в общем-то это не нравилось. Так что торренты и Rutracker - это наше всё.

История написания приложения для парсинга фильмов с Рутрекера Приложение на Android, Android разработка, Программирование, Рутрекер-зеркало, Приложение, Java, Длиннопост

В чём задумка?

С рутрекером всё отлично, кроме отображения сайта на смартфоне. Для ПК ещё есть удобные средства доступа к сайта, да и заточен сайт был для отображения на большом экране.

Отсюда и родилась идея - сделать приложение, в котором в удобном формате быстро и просто можно было бы просмотреть что новенького и годного выложили на трекер, допустим из фильмов. И я решил, что это будет супер просто, но всё оказалось не так уж гладко, как хотелось бы..

История написания приложения для парсинга фильмов с Рутрекера Приложение на Android, Android разработка, Программирование, Рутрекер-зеркало, Приложение, Java, Длиннопост

Немножко уличной магии

Весь принцип работы упирается в парсинг Rutracker’а. То есть мы в приложении делаем http-запрос на какую-то ветку форума, например, со списком фильмов и разбираем HTML-ответ, походу выуживая полезные данные, такие как: название фильма, автор раздачи, ссылка на страницу фильма и т.д.

Дальше красиво и стильно выводим этот список уже в нашем Android-приложении, но…

История написания приложения для парсинга фильмов с Рутрекера Приложение на Android, Android разработка, Программирование, Рутрекер-зеркало, Приложение, Java, Длиннопост

Проблема №1 - блокировки блокировочки

После небольшого исследования ситуации, я понял, что есть два пути обойти эту проблему:

1) Использовать TOR

2) Использовать рабочие зеркала Рутрекера

Сначала я повозился с ТОРом, но выяснилось, что это сложно в реализации, а кроме того плохо, медленно и нестабильно работает. Хотя, возможно, в будущем вернусь к этому варианту.

Остаётся и использовать незаблокированные зеркала. Тут дело обстоит лучше. Но, как выяснилось, зеркала рутрекера не “пускают” почти никуда (например на ветку с фильмами) без авторизации. А потому…

История написания приложения для парсинга фильмов с Рутрекера Приложение на Android, Android разработка, Программирование, Рутрекер-зеркало, Приложение, Java, Длиннопост

Проблема №2 - а ты кто?! Вход только для своих!

Пришлось реализовывать авторизацию на форуме прямо из приложения. У сайта есть форма авторизации и можно из приложения делать POST-запрос, эмулирующий отправку этой формы (логин, пароль), тогда сайт авторизует тебя.

Но и тут была небольшая проблемка - капча. Пришлось картинку капчи тоже отлавливать и выводить на экран логина.

Наконец всё работает!

Ну вот, когда были разрешены эти проблемы, то приложение заработало как надо. Оставалось только подготовить няшные скриншоты, отключить логи, подписать приложение, проверить, чтоб нигде не выдавалось ничего матерного…ой, то есть отладочного на экран и вуаля - приложение красуется в Маркете.

Благодарю всех, кто дочитал до этого момента! Если есть вопросы - по реализации или

по использованию приложения задавайте, постараюсь ответить :)


Сайт с приложением: https://torba4me.github.io/

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Я правильно понимаю, что ты предлагаешь использовать свои креды на рутрекере для авторизации через твоё приложение? Мде. Секьюрненько, слов нет.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Friend, любой сторонний клиент какого угодно сервиса так делает. Кроме того, Рутрекер сам не против появления сторонних зеркал, потому что сервис и так забанен.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Как бы даа, но во-первых, ты позиционируешь свою аппликуху не как сторонний клиент для рутрекера, а как парсер новинок, а во-вторых, хороший тон, когда сторонние клиенты выкладывают сорсы ссылочкой на репку, чтобы можно было глянуть, что конкретно твоё приложение будет делать с моими кредами.

В остальном, коммитить в опенсорс - добро. Моё, так сказать, увожение;)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку