Hätäisesti kirjoitettu Bash-scripti, joka hakee parametriksi annetulla sanalla videot Ylen elävästä arkistosta. Mplayer vaatii, että myös wmv-formaatti on tuettuna. Myös wget pitää olla asennettuna.
Käyttö:
sh videohaku.sh uutiset
hakisi ~kaikki videot, jotka löytyvät elävästä arkistosta sanalla uutiset.
videohaku.sh
#!/bin/bash
wget "http://www.yle.fi/elavaarkisto/?s=h&n=$1&k=s&m=v" -O haettu1.tmp.html
osumia=`grep "<h3><a href=\"" haettu1.tmp.html | wc -l`
echo $osumia
idt=(`grep "<h3><a href=\"" haettu1.tmp.html |cut -d'"' -f2 |cut -d'=' -f 3 |xargs`)
echo ${idt[*]}
for ide in ${idt[*]}
do
echo "http://www.yle.fi/elavaarkisto/?s=s&g=5&ag=32&t=&a=$ide"
wget "http://www.yle.fi/elavaarkisto/?s=s&g=5&ag=32&t=&a=$ide" -O haettu2.tmp.html
osoitteet=(`grep video haettu2.tmp.html|grep playerpopup| cut -d"'" -f2 |xargs`)
nimet=(`grep video haettu2.tmp.html|grep playerpopup |cut -d'<' -f3 |cut -d'>' -f2 |sed -e 's/ /_/g'`)
a=0
for addr in ${osoitteet[*]}
do
wget `echo $addr` -O haettu3.tmp.html
wget http://www.yle.fi/player/`grep asx haettu3.tmp.html |cut -d'"' -f4` -O file.asx
mplayer `cut -d'"' -f2 file.asx` -dumpstream -dumpfile `echo ${nimet[$a]}.wmv`
a=$(($a+1))
done
done
unlink haettu1.tmp.html
unlink haettu2.tmp.html
unlink haettu3.tmp.html
unlink file.asxVoisit vielä selostaa, mitä oikeastaan tapahtuu. Nyt tuota voi joku ehkä käyttää, mutta oppiminen on hyvin hankalaa, kun et lainkaan selitä käytettyjä menetelmiä. Joko siis alkuun koko selostus tai kommentteina aina ennen kutakin riviä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.