понедельник, 31 августа 2020 г.

Качаем музыку альбомами с MyzCloud

     Изначально на сайте была возможность скачать весь альбом целиком, но потом ее выпилили, а скачивание отдельными песнями сделали еще сложнее.

P.S:   

  • 2myzcloud у вас все круто, не меняйте ничего)
  • 2all задонатьте им что нибуть, чтоб не прикрыли алгоритмы

 

сразу код, особо объяснять тут нечего :)

 

#!/bin/bash

set -e
set +x

SOCKS_PROXY5="proxy:port"
SITE_PREF="https://myzcloud.me"
BROWSER_AGENT="Mozilla/5.0 (compatible;  MSIE 7.01; Windows NT 5.0)"
ALBUM_NAME=$(basename "$ALBUM_LINK")
MUSIC_DIR="/Music"
MP3_PATH="$MUSIC_DIR/$ALBUM_NAME"

if [  $1 = "" ]; then
    ALBUM_LINK="$1"
else
    echo -e "Please provide link to album."
    echo -e "ex: https://myzcloud.me/album/4070317/black-metal-frostland-tapes-vi-2018"
fi

if [ ! -d "$MP3_PATH" ]; then
    echo "Create dir: $ALBUM_NAME"
    mkdir -p "$MP3_PATH"
fi

cd "$MP3_PATH"

echo -e "Download page ..."
page="$(curl -s --compressed --socks5 $SOCKS_PROXY5 -L "$ALBUM_LINK" -A "$BROWSER_AGENT")"

MUSIC="$(echo -e "$page" | \
    grep -Eoe 'data-url=".*data-pos' -Eoe 'data-title=".*title' |  \
    grep -o '"[^"]*"' | \
    tr -d '"' |  sed 'N;s/\n/ /' )"

count="$(echo -e "$MUSIC" | wc -l | tr -d ' ')"
echo -e "Found $count music files ..."

echo -e "$MUSIC" | while read line; do
    let i=$i+1
    echo $line | ( read url name
        echo -e "Download $i/$count : $name"
        curl --compressed --socks5 $SOCKS_PROXY5 -L "$SITE_PREF$url" -o "$name".mp3
    )
done


 

 



Комментариев нет:

Отправить комментарий

Популярные сообщения