Рапида убрала кошек! (слоупок.жпг)
наваял качалку фильмов, используя curl и wget.
В качестве параметра - имя txt файла с линками на куски.
Лень усовершенствовать. И так работает.
Хорошо бы рекурсивно оформить докачку файлов которые не скачались
(халявная рапида докачку не поддерживает, разумеется)
Между закачками sleep 500 потому что _иногда_ она у меня сразу не
отдавала следующий файл.
вдруг кому-нибудь пригодится. Пока работает (wget 1.9.1, curl 7.18.1)
_______________
#!/bin/bash
file=$1
agent="Mozilla/5.0"
if [ -z "$file" ]; then
echo "usage: rapida.sh links.txt"
exit
fi
cnt=`wc -l < $file`
echo
echo $cnt files to download at `date`
echo
ii=0
cat $file | while read url
do
let ii=ii+1
echo "$url"
# get "right" link
curl $url > url.html
url1=`cat url.html | grep "id=\"ff\" action=" | awk '{print $3}' | awk -F "=" '{print $2}' | sed 's/\"//' | sed 's/\"//'`
# get actual link - default mirror
curl -e $url1 -d "dl.start=Free" $url1 > link.tmp
link=`cat link.tmp | grep "var tt =" | awk '{ print $6 }' | awk -F "=" '{print$2}' | sed 's/\"//' | sed 's/\"//'`
echo $link
# wait for rapida get working link
sleep 90
wget --user-agent=$agent --referer=$url1 --tries=1 $link
# not actually needed
if [ $? -eq 0 ] ;then
echo "OK! file $ii :-)"
# тут хорошо бы вставить проверку что скачанный файл это именно то что нужно...
if [ $ii -lt $cnt ] ;then sleep 500; fi
else
echo "failed with file $ii :-("
echo $url >> failed.txt
# if not static IP - better to change it - ppp0 up/down
#sleep 120
fi
done
failed_cnt=`wc -l < $file`
rm link.tmp
rm url.html
echo
echo "Finished" at `date`
echo "coudn't retrieve $failed_cnt files:"
cat failed.txt
Форум —
Talks





