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.asx
Voisit 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.