gr_podcast/raipodcast-dl

101 lines
2.0 KiB
Bash

#!/bin/bash
#
#
####################################################################################
# script che recupera il podcast dei singoli episodi da raiplaisound "link diretto del singolo ep."
#
# V:1.5 alpha_debug_mode 23 Gennaio 2022
#
# dipendenze: curl,jq,cat,wget
#
# uso: raipodcast-dl [link pagina html episodio]
####################################################################################
# set global variable
surce=$1
grbase="https://www.raiplaysound.it"
ag="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/56.0"
# remove old jason data
rm ./data/surce.json
#rm ./data/Lsurce.json
# get jason data
jsurce=`echo $surce | sed -e 's/html/json/g'`
echo "jsurce: " $jsurce
echo " "
curl -A "$ag" "$jsurce" -o data/surce.json
echo " "
echo " "
echo "get data api... done!"
echo " "
# function download data.
function DLnow {
# download podcast
echo " download podcast.. rencode.."
echo " "
wget -d -c -U "$ag" "$Lpodcast" -O $dataT.mp3
}
# extract jason data of the last podcast
datat=`cat ./data/surce.json | jq -r '."downloadable_audio" | ."title"'`
dataT=`echo $datat | sed -e 's/\//\-/g' | sed -e 's/\ /\_/g'`
echo " "
echo "extract data... find.."
echo " "
echo " "
echo podcast_title: $dataT
echo " "
Lpodcast=`cat ./data/surce.json | jq -r '."downloadable_audio" | ."url"'`
echo " "
echo podcast_url: $Lpodcast
echo " "
DLnow
# encode audio data... small file
# ffmpeg -n -i $dataT.mp3 -vn -acodec libopus -ab 48k -ac 1 $dataT.ogg
ffmpeg -n -i $dataT.mp3 -vn -acodec libvorbis -aq 3 -ac 1 $dataT.ogg
rm $dataT.mp3
# ceck if json data is legacy.. workaround fix for audio_book..legacy
if [ "$Lpodcast" = "null" ]; then
datat=`cat ./data/surce.json | jq -r '."audio" | ."title"'`
dataT=`echo $datat | sed -e 's/\//\-/g' | sed -e 's/\ /\_/g'`
echo " "
echo "extract data... find.."
echo " "
echo " "
echo podcast_title_Legacy: $dataT
echo " "
Lpodcast=`cat ./data/surce.json | jq -r '."audio" | ."url"'`
echo " "
echo podcast_url: $Lpodcast
echo " "
DLnow
fi