-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgoldenmp3.sh
executable file
·64 lines (55 loc) · 1.92 KB
/
goldenmp3.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
# pirating russian pirates with joy
# https://www.goldenmp3.ru/compilations/electro-mode-an-electro-tribute-to-depeche-mode
if [[ $# -lt 1 ]]; then
echo "chybny pocet parametrov"
echo "takto: $0 https://www.goldenmp3.ru/depeche-mode/shake-the-disease"
echo "alebo: $0 album_prefix https://www.goldenmp3.ru/depeche-mode/shake-the-disease"
exit 1
fi
TMPFILE=$(mktemp) || { echo "Failed to create temp file"; exit 1; }
if [[ $# -eq 1 ]]; then
URL=$1
PREFIX=''
elif [[ $# -eq 2 ]]; then
PREFIX=$1' '
URL=$2
fi
wget -q "$URL" -O "$TMPFILE"
# fix ` in album/song names (which is tricky to escape in sed+bash)
sed -i -e "s|\`|'|g" "$TMPFILE"
# album folder
ALBUM_FOLDER="$PREFIX$( \
< "$TMPFILE" \
sed \
-e 's|.*sub_span2" itemprop="name">\(.*\)</span></h1>.*itemprop="datePublished">\(.*\)</span></p>.*|\2. \1|g' \
-e 's|&|\&|g' \
-e 's|/|-|g' \
)"
echo "Creating $ALBUM_FOLDER"
mkdir -p "$ALBUM_FOLDER"
cd "$ALBUM_FOLDER" || { echo "Error cd into $ALBUM_FOLDER"; exit 1; }
# album cover file
< "$TMPFILE" \
sed -e 's|.*\(https://files.musicmp3.ru/bcovers/alb[0-9]*\.jpg\).*|wget -c -O cover.jpg \1|g' \
| bash
# music files
< "$TMPFILE" \
sed \
-e 's|<tr |\n<tr |g' \
-e 's|</tr>|</tr>\n|g' \
| grep "<tr" \
| grep "Listen the song" \
| sed \
-e 's|<tr.*rel="||g' \
-e 's|" title="Listen.*td_wrap">|;|g' \
-e 's| <span itemprop="name">| |g' \
-e 's|</span>.*||g' \
-e 's|&|\&|g' \
-e 's|/|-|g' \
| sed \
-e 's|\(.*\);\(.*\)|wget -c https://listen.musicmp3.ru/\1 --referer="https://www.goldenmp3.ru/compilations/electro-mode-an-electro-tribute-to-depeche-mode" -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.88 Safari/537.36" -O "\2.mp3"|g' \
| bash
rm "$TMPFILE"
echo "$ALBUM_FOLDER" done.
cd - || exit