Как выбрать фильм используя силу компуктера?

TLDR
Данные с сайта с фильмами REZKA, украдены, отфильтрованы, завернуты в телеграм и поданы в виде 3 фильмов в день случайным образом, рейтинг фильмов немножко перевернут, так как между 9.8 и 9.9 разница по сути в 2 раза ссылка на результат https://t.me/django_watch
Часть 0
Не знаю что посмотреть, а рейтинг IMDB уже надоел
Часть 1 – обнаружение проблемы
 Вы тоже замечали что кинокритики часто недооценивают фильмы?
 К примеру «Святые из Бундока» -
,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,длинный пост,Фильмы,подборка
Фильм в основном получил негативные отзывы от критиков, получил 44 балла из 100 на сайте Metacritic
Зато народу нравится, и таких примеров много – тысячи их
Короче есть в интернете такой сайт как HDrezka, годный сайт – много фильмов, своя студия озвучки, куча зеркал и регистрация в аргентинской бухте прямо таки стандарт среди пиратов
При посещении данного сайта, можно заметить один интересный феномен, его рейтинг фильмов очень точный, ибо:
- Его ставят люди которые действительно смотрят это кино
- Сайт резка не настолько популярен (как ротен томатос или метакритик) и крупным студиям и маркетологам и в голову не приходит – накручивать рейтинг на резке
- Сайт достаточно крупный (крупнейший из пиратских) что бы там было огромное количество фильмов (как выяснилось больше 30-ти тысяч)
- И самое главное – по этому рейтингу нельзя отсортировать фильмы что исключает внесение искажений
+ Не возможность отсортировать и самому выбрать действительно годные фильмы – что и стало причиной дальнейших действий
(дракон со златом охраняет рейтинг резки)
Часть 2 Как «стырить» данные?
И так навыки персонажа которому все это пришло в голову:
- Понимание школьной математики
- Программирование на уровне хобби, из языков знает немного знает Python (но без всяких сложных штук типа миксинов/дескрипторов)
Первым делом стал исследование какие технологии «воровства» данных изобрело человечество
После недолгих поисков было обнаружено 3 основные технологии
- Selenium (что то вроде эмулятора браузера)
- BeautifulSoup (легковесная библиотечка для работы с HTML – ты ей текст – а она тебе облегчает поиск всяких штук в этом тексте)
- Scrapy (целый фреймворк, хоть я до сих пор и не понимаю это слово, но это как большая библиотека, настолько большая что когда ней пользуешься ты ей даешь команды – а она создает целый проект с кучей файлов и папок, всякими настройками), по ходу именно такими технологии пользуются в промышленном программировании всякие компании
Короче после недолгих раздумий решил попробовать использовать Scrapy
От Selenium отказался ибо он используется для сложных сайтов типа amazon linkedin, а у нас тут сайт очень простой
Ну и BeautifulSoup решил использовать в случае если какие то куски странички будут слишком неудобно парсить с помощью Scrapy
И так, закатываем рукава, едем в бой:
Часть 3 – учим Scrapy и воруем
Первым делом находим видео с объяснениями как им пользоваться (желательно что бы объяснял Индус – у них каким то магическим образом все влезает в 5 минут видео)
Pfthon Strap* Tutorial-1 - Web Scraputg. Spid*n and Creating mwvtowm Пихт rmMiw	^i4rwe çj ►
■duiUiKPuXnwH—imtKncmttn . -«at
Вы подписаны £i,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,длинный пост,Фильмы,подборка
Может тоже кому надо будет –
– четко объясняет и быстро
+ на Хинглише :)
И так после нескольких часов получилось накидать несложный код что тырит интересующие нас данные, используя удобный инструмент что нам подсказал человек из Индии
Джон Уик
John Wick
КИАНУ РИВЗ
Д1Я ни
га — "V
СТАРЦЕ It Я Е Т
ф Смотреть трейлер
Рейтинги:
Слоган:
Дата выхода: Страна: Режиссер: Жанр:
В качестве:
В переводе:
1МРЬ: 7.4 (618 691) Киноооиск 6.95 (390 690)
«Его лучше не трогать»
19 сентября 2014 года США
чад Стахелски. Дэвид Литч
Далее становится интересной секция «комментарии» - ведь некоторые шедевры народного искусства явно стоят того что бы их прочесть
Влад Ива оставлен 25 июня 2021 03 16 #
Пусть и сказка, но очень поучительная. Мне нравится. Ответить й Поддерживаю!
Мг.ОгасЛег. оставлен 28 июня 2021 16 54 #
и что же ты научился? Не красть тачку Джона Уика и не убивать его пса?)) Ответить «¿(6)
Mikael, оставлен 5 июля 2021 23 20 #
Даже Танос
Почитав исходный HTML оказалось что в нем нет комментариев
Хмм, возник вопрос как так, после небольшого чтения мануалов, оказалось что данные иногда находятся не в самом коде страницы, а подгружаются «динамически» используя javascript
Мда, плохи дела подумал я, еще с джаваскриптом разбираться, а судя по мемам, ждет меня увлекательное приключение
ошибки от ошибки от Python	C++
JTV\\.XV,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,длинный пост,Фильмы,подборка
Но не так страшен черт как его малюют
Оказалось что нужно лишь отследить куда именно идет запрос на очередную пачку комментариев
0 Do
+
f ^ С ■ г*Алл?
Man «	Л.Чко*	>
**штж* И фильм о?гм*мьМ я мрс* в *с*це с грав«ч*ьм
Салакаг ГМиумми	1224 •	>
что со жухом? Ду<3гажОу-дю WW ю pvmoac^cw гос и*ткм то тквогрошо $?•!!■* <6 ПМ№»** е» (1)
АД1М^ст(к*«и1 ос*м~. Я «•<»• Ж1 •>»•
yuweif аслме»#** отрем* проаерам 0*«ptptv
MW.i	J
Оказалось что у браузеров есть супер крутые инструменты разработчика (сколько же всего придумало человечество)
Там нужно нажать на вкладку Networking, далее отключить кеш что бы запросы заново шли каждый раз а не доставались из памяти браузера
Потом вкладка XHR что расшифровывается как XMLHttpRequest – короче тут отслеживаются все запросы что делает страничка куда то
Далее нажимая на запрос – видим куда он делается :
All Fetch/XHR JS CSS Img Media Font Doc WS Wasm Manifest Other O Has blocked cookies Q Blocked Requests U 3rd-party requests
200 ms	400 ms	600 ms	800 ms	1000 ms
Name	x Headers Payload Preview Response Initiator Timing »
□ ?t=1661536191490&news_id...	▼ General
Request URL: https: //rezka.
А перейдя на вкладку Response можно увидеть что ответил сервер
All Fetch/XHR JS CSS Img Media Font Doc WS Wasm Manifest Other O Has blocked cookies
O Blocked Requests	O 3rd-party requests	
200 ms	400 ms	600 ms 800 ms 1000 ms |
		
Name	x Headers Payload Preview Response Initiator Timing »	
□ ?t= 1661536191490&news_id...	1
После не долгого ковыряния в полученом ответе оказалось что это JSON специальный такой формат данных для общения между сервером и браузером
Если еще проще то это просто текст, слегка отформатированный что бы его компу было легче читать
Почитав еще оказалось что этим JSONом возращается HTML то есть не сам текст комментариев, а сразу целые странички с древовидной структурой
Чисто с эстетической точки зрения конечно как то странно выглядит, но чисто с практической работает же – да и сервер наверное не сильно грузит, так что все окей
Тут нам и пригодится вторая библиотечка – BeautifulSoup – мы ей скормим HTML достаный из JSON а она нам вернет комментарии
Так и произшло, никаких эксцесов не возникло (что удивительно)
Разве что пришлось почитать немного туториалов как этим всем пользоваться
После небольших настроек, с VPN через Японию, что бы не забанили наш основной IP с которого мы смотрим пиратские фильмы
А так же прикрутки модуля модуля к Scrapy что генерирует фейковые личности (юзер агенты) для каждого запроса
Далее запускаем процесс «воровства» и ждем
,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,длинный пост,Фильмы,подборка
72 часа спустя, процесс завершается, мы счастливы!
На выходе получается файл
rezka_csv.xlsx
Лист Microsoft Excel (jdsx) fjj Excel
: D:\User\Desktop
7.83	MB (8 213 583 байт)
7.83	МБ (8 216 576 байт),сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,длинный пост,Фильмы,подборка
Если 1 байт это 1 символ – то достаточно много данных
Если человек может читать примерно 1000 символов в минуту, то все это на неделю где то на неделю беспрерывного чтения
|»Y3 • Я|ГА»>’^,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,длинный пост,Фильмы,подборка
Выглядит все это как то так
Часть 4 – присобачиваем интерфейс к этим всем данным
Логичным решением было использовать телеграм, так как он позволяет хранить фото/видео/текст не на локальном компьютере, как пришлось бы делать в случае с сайтом, а в собственном облаке, что очень удобно
+ не нужно покупать доменное имя (адресс сайта), а просто ник в телеге
+ не нужно платить провайдеру что бы он удерживал у меня белый IP – который не менялся бы каждый день, что бы специальная служба DNS (превращает имя сайта в IP и наоборот) работала корректно
+ не надо парится за безопасность (если кого это интересует) ибо перед тем как взломать условно мой бот, нужно сначала взломать телеграм, а это сложно
Имя канала решил выбрать в честь моего любимого персонажа – Джанго освобожденного, который спасал свою любимую из лап злодея
В загашнике валяется Raspberry PI 4
Это такой по сути полноценный компьютер на Linux с 4 Гб оперативки, разве что без вентилятора и не гудит, немножко греется когда что то сложное делает
Пишем небольшой бот, прикручиваем к нему базу данных что бы он как то аккуратно хранил список фильмов что уже запостил, а так же те которые планирует постить, немножко причесываем вывод информации
Охапку дров и бот готов :)
£ Т1к Ток
X (¿диеххИжлю^О 9
Джеки чаи на минималках®
Миссия невыполнима: Протокол Фантом
Рейтинг от Джанго: 20 ^
7 декабря #2011 года #201 Об
#Боевики #Приключения #Триллеры #3арубежные
В ролях: #Том_Круз #Пола_Пэттон #Саймон_Пегг
#Джереми_Реннер
Режиссер: #Брэд_Бёрд
как вам такой полёт?
Django - смотрит КИНО
*»ГМ
НЕСПЯЩИЕ	- Что? Собираюсь просыпаться
I ( II .) М .1 I. __	каждое утро.
Неспящие в Сиэттле
Рейтинг от Джанго: 19 ^
25 июня #1993года #1 990б
#Драмы #Мелодрамы #Комедии #3арубежные
В ролях: #Том_Хэнкс #Мег_Райан #Росс_Мэлинджер
#Рита_Уилсон
Режиссер: #Нора_Эфрон
В общем кто дочитал до конца – СПАСИБО!
Хотелось с кем-то поделится!
Вот ссылка на канал, может быть вам тоже понравится, и сможете выбрать что посмотреть в свободное время