Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Ylen elävän arkiston latausohjelma

miok [25.02.2008 14:46:33]

#

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

Metabolix [26.02.2008 01:11:27]

#

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ä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta