Изначально на сайте была возможность скачать весь альбом целиком, но потом ее выпилили, а скачивание отдельными песнями сделали еще сложнее.
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
Комментариев нет:
Отправить комментарий