Скрипт для парсинга сайтов на Python

Ну что же , вот и настало время публикации второго скрипта. Сегодня мы научимся создавать скрипт
который использует удивительнейший и невероятный парсер мультимедиа сайтов, написанный
на python-е. Наш скрипт будет создавать m3u плейлист для последующего прослушивания его через mpv,
на манер стриминговых сервисов но только без рекламы и не из браузера, а из терминала.
Я использую этот метод (прослушивание плейлиста с ссылками на композиции) даже на телефоне с android через эмулятор терминала termux, преимущество этого
метода очевидно, мы не грузим телефон или ноутбук такой тяжёлой программой какой является браузер,в результате не так тратим батарею телефона или ноутбука.
Итак начнем!

Установка зависимостей


Для начала давайте установим все нужные нам инструменты, у меня операционная система Debian Linux, и
в причину того все команды будут для неё, но эти команды будут работать и в других linux- системах, с корректировкой
специфики пакетного менеджера,
1. Устанавливаем python3-pip:

sudo apt install python3-pip

2. Через pip устанавливаем утилиту you-get

sudo pip3 install you-get

Парсер сайтов

Можем салютовать после окончания установки you-get мы получили замечательный инструмент для
парсинга сайтов. Этот парсер может скачать картинки в формате png, а также URL ссылки
существующие на странице, и много чего другого о чем можно узнать набрав терминале
команду

you-get -h

Но меня лично и надеюсь вас интересуют URL ссылки , давайте зайдем на
сайт с “свободной ” (free) музыкой https://freemusicarchive.org/genre/Instrumental.
Как вы заметили я выбрал жанр и поджанр, на первой странице выдалось определенное количество композиций, ну что же пришло время по хулиганить, давайте попробуем ввести в терминал следующее

you-get -u https://freemusicarchive.org/genre/Instrumental

Подождем немного , секунд 15, это всё таки python , но это стоит того, и через время терминал
выдаст большой листинг кусочек которого я приведу для примера;

User Agent: Python-urllib/3.7
Real URLs:
https://files.freemusicarchive.org/storage-freemusicarchive-org/tracks/d5vJ1eRidfLFlvMz8VGUJb92OlUH7AKFoD3mqQEl.mp3
Site: freemusicarchive.org
Title: o7gT8oEypNXdZXXeib2hereEVW7HAgshjfvrU9B8
Type: MP3 (audio/mpeg)
Size: 6.07 MiB (6360338 Bytes)

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

you-get -u https://freemusicarchive.org/genre/Instrumental | grep mp3

Как видим you-get как и прежде выдал нам Url-ы с сайта, а grep их для нас отфильтровал по братски.
Теперь последний штришок, давайте все это перенаправим в файл с названием out.m3u
и соответственно наша команда примет вид:

you-get -u https://freemusicarchive.org/genre/Instrumental | grep mp3 >out.m3u

И после окончания выполнения этой команды вы найдете в своем домашнем каталоге файл с названием
out.m3u , и теперь если его скормить mpv или любому другому мультимедийному плееру который умеет воспроизводить
стримы. То плеер начнет воспроизводить все спарсеные ссылки по очереди, насчет законности сих действий, если вы будете
использовать это для себя и слушать именно в качестве стримов не скачивая музыку (да если натравить на эти ссылки wget
то он их скачает.

Но я не скачиваю прослушав песню один раз, я могу к ней снова вернутся, без того чтоб скачивать ее локально. У меня тариф на телефоне это позволяет, а тот что через Lan безлимитный) то это ничем не отличается от того что вы слушаете эту же музыку через сайт.
И потому поделюсь еще одним интересным открытием
вот сайт https://ipleer.com
Если зарегестрироватся на нем , он позволяет понравившуюся музыку добавить в избранное.
так вот если войти в это избранное то … удочку я вам передал вам осталось только выудить рыбу 🙂
Спасибо за внимание!

Автор статьи Vlad- totiks

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять
Отказаться
Политика конфиденциальности