предисловие
Недавно я смотрел новый сериал "Разорвав небо", но реклама серии сериала начинается с 90-х, середины 45-х и заканчивается 15-ми, что действительно возмутительно. Я узнал раньше, что в Интернете есть много интерфейсов анализа без VIP, поэтому этот шлак решил создать небольшой веб-сайт, который может удалить рекламу, поэтому есть процесс майнинга.
Дорога к яме
Во-первых, это финалонлайн предварительный просмотр. Суть статьи состоит в том, чтобы сканировать ссылку на фильм, а затем объединять и отображать ее с помощью существующего интерфейса синтаксического анализа элементов.
1. Первое издание
Интерфейс парсинга видео + ссылка на фильм = фильм без рекламы.
После тестирования ожидаемая функция реализуется. эммм, мышь подобрала. Но немного раздражает необходимость каждый раз находить ссылку на фильм, чтобы посмотреть его. Можно ли воспроизвести его напрямую, выполнив поиск по ключевым словам? Как слабая передняя часть курицы, инстинктивный ответ = «найди интерфейс.2. Найдите интерфейс
После получасового поиска я наконец нашел квалифицированный интерфейс по агрегированным данным, я могу получить ссылку на фильм и информацию о выпуске, что не слишком удобно. В процессе использования обнаруживается, что данные интерфейса агрегированных данных не полны, многие недавно выпущенные фильмы не возвращают данные, и существует ограничение на количество вызовов, это решение заканчивается.
3.сканер nodejs
Есть две идеи: 1. Просканировать все видеоссылки на основных видеосайтах и сохранить их в базе данных.Когда пользователи выполняют поиск, они обращаются к базе данных, чтобы найти фильмы. 2. После получения ключевых слов для внешнего поиска перейдите на веб-сайт видео для сканирования, а затем вернитесь к внешнему интерфейсу. Первый метод имеет относительно большой объем данных, и необходимо учитывать меры по предотвращению сканирования веб-сайта, поэтому лучше написать скрипт для регулярного сканирования, чтобы поддерживать доступ к последним данным видео веб-сайта. Второй метод онлайн-сканирования будет иметь определенную задержку, после тестирования время задержки составляет около 1 с, поэтому решено использовать второй метод. При анализе видео-сайтов выяснилось, что каждый видео-сайт имеет интерфейс поиска по всей сети.На этот раз видео с пингвином сканируется и загружается код.
Где $ — это захваченный HTML-контент, как показано ниже.Легко получить такую информацию, как названия фильмов, афиши и т. д., получая данные через теги, но есть проблема со ссылкой на воспроизведение: это произойдет, если это сериал.Поскольку количество телевизионных эпизодов относительно велико, в середине будет опущено "...". В настоящее время ссылка для воспроизведения, полученная поисковым роботом, является неполной. Откройте сеть, нажмите «...», чтобы загрузить пропущенные эпизоды, и в то же времяКак видите, вся нужная нам информация находится в этом интерфейсе. Таким образом, мы делаем вывод, когда предыдущий интерфейс собирает ссылку. Если текущее значение ссылки равно '...', то вызывается этот интерфейс. Здесь следует обратить внимание на асинхронную обработку, иначе сбор будет неполным.4. Фронтальный дисплей
Здесь не так много технологических стеков, но потому, что требования менялись до и после, от оригинального js до jquery, и, наконец, даже хочется использовать фреймворк~~! . Забудь, вот оногитхаб-адрес
5. Резюме
На самом деле, у nodejs все еще довольно много краулеров.При сканировании соединений фильмов фильмы, сериалы, варьете, сиквелы и т. д. имеют разные структуры html, поэтому сканирование данных с тегами действительно не очень хорошая идея. И получить ссылку на сериал «...» тоже немного сложно, потому что нет отладки точек останова nodejs, очень простые проблемы найти не удалось. Пишу статью впервые, идеи и формат не очень, извините. После работы, хе-хе, ускользнул.