diff --git a/kauderwelsch-dl/README.md b/kauderwelsch-dl/README.md new file mode 100644 index 0000000..1ba4004 --- /dev/null +++ b/kauderwelsch-dl/README.md @@ -0,0 +1,8 @@ +# kauderwelsch-dl + +Download phrase book audio files for the German [Kauderwelsch](https://www.reise-know-how.de/produktreihe/kauderwelsch-sprachfuehrer-42848) series. + +To download, run: `sh kauderwelsch-dl.sh` (no requirements but standard POSIX tools). + +This will create a directory named `kauderwelsch` with subdirectories called something like `006 Japanisch` (Japanese, no. 6 in the series). +These directories contain all available audio recordings for the respective languages. diff --git a/kauderwelsch-dl/kauderwelsch-dl.sh b/kauderwelsch-dl/kauderwelsch-dl.sh new file mode 100644 index 0000000..3f58053 --- /dev/null +++ b/kauderwelsch-dl/kauderwelsch-dl.sh @@ -0,0 +1,27 @@ +#!/bin/sh +mkdir -p kauderwelsch + +for volume in $(seq -w 1 200); do + if language_name="$(curl -sSL "https://www.reise-know-how.de/kauderwelsch/$volume" | grep -oP '\K[^<]*' | sed 's![/]!_!g;s! - Wort für Wort!!g')"; then + test -n "$language_name" || continue + + echo "$volume = $language_name" + directory="kauderwelsch/$volume $language_name" + + if [ ! -d "$directory" ]; then # dont run if directory already exists + mkdir -p "$directory" + for track in $(seq -w 1 20); do + url="https://www.reise-know-how.de/kauderwelsch/$volume/Track-$track" + path="$directory/$track.mp3" + curl -sSL "$url" -o "$path" + if [ -f "$path" ] && [ "$(stat -c %s "$path")" = 50 ]; then # on failure, reise-know-how.de returns 50 bytes + rm -f "$path" + else + echo "+ Track $track" + fi + done + else + echo "$directory skipped" + fi + fi +done