На днях написал парсер для закачки серий с этих сайтов(озвучку они хорошую выкладывают но скачивать серии не дают ). Вот собственно и написал скрипт: Spoiler: Code Code: #!/bin/bash while [ 1 ] ; do if [ "$1" = "--links" ] ; then #Получить линки на файлы url="$2" name="$3" oz="$4" list=$(curl $url/$name/) cur=$(echo "$list" | grep m3u8 | sed -r "s/[^h]+//" | sed -e "s/[$name].*//g") muf=$(curl $cur$name/$name"_"$oz.m3u8) listf=$(echo "$muf" | grep ts) lwc=$(echo "$listf" | wc -l) for i in `seq 1 $lwc` ; do echo $cur$name/$(echo "$listf" | sed -n ''$i'p') done elif [ "$1" = "--oz" ] ; then #Посмотреть озвучки url="$2" name="$3" list=$(curl $url/$name/) listozw=$(echo "$list" | grep "?v=") lwc=$(echo "$listozw" | wc -l) let lwc=$(($lwc-1)) seloz=$(echo "$list" | grep m3u8 | sed -r 's|.*_||' | sed -e 's/[.].*//g') for i in `seq 1 $lwc` ; do echo "$listozw" | sed -r 's/[^v]+//' | sed -r 's/[=]+//' | sed -r 's/[v]+//' | sed -e 's/".*//g' | sed -n ''$i'p' done echo $seloz elif [ "$1" = "--dw" ] ; then #Скачать серию url="$2" name="$3" oz="$4" list=$(curl $url/$name/) cur=$(echo "$list" | grep m3u8 | sed -r "s/[^h]+//" | sed -e "s/[$name].*//g") muf=$(curl $cur$name/$name"_"$oz.m3u8) listf=$(echo "$muf" | grep ts) lwc=$(echo "$listf" | wc -l) for i in `seq 1 $lwc` ; do echo $cur$name/$(echo "$listf" | sed -n ''$i'p') | wget -i - done cat $listf > $name.ts rm $listf elif [ "$1" = "--dws" ] ; then #Скачать от n и до n серии url="$2" name="$3" oz="$4" st="$5" ed="$6" for i in `seq $st $ed` ; do sd=$(printf '%02d\n' $i) list=$(curl $url/$name$sd/) cur=$(echo "$list" | grep m3u8 | sed -r "s/[^h]+//" | sed -e "s/[$name$sd].*//g") muf=$(curl $cur$name$sd/$name$sd"_"$oz.m3u8) listf=$(echo "$muf" | grep ts) lwc=$(echo "$listf" | wc -l) for i in `seq 1 $lwc` ; do echo $cur$name$sd/$(echo "$listf" | sed -n ''$i'p') | wget -i - done cat $listf > S$nameE$sd.ts rm $listf done elif [ "$1" = "--dwrss" ] ; then #Скачать с какого по какой сезон url="$2" namef="$3" named="$4" oz="$5" st="1" ed="100" for i in `seq $namef $named` ; do let k=$k+1 name=$(($namef+$k-1)) for i in `seq $st $ed` ; do sd=$(printf '%02d\n' $i) list=$(curl $url/$name$sd/) cur=$(echo "$list" | grep m3u8 | sed -r "s/[^h]+//" | sed -e "s/[$name$sd].*//g") muf=$(curl $cur$name$sd/$name$sd"_"$oz.m3u8) if [ "$cur" != "" ] ; then listf=$(echo "$muf" | grep ts) lwc=$(echo "$listf" | wc -l) for i in `seq 1 $lwc` ; do echo $cur$name$sd/$(echo "$listf" | sed -n ''$i'p') | wget -i - cat $listf > S$nameE$sd.ts rm $listf done fi done done elif [ -z "$1" ] ; then break exit 1 fi shift done lala.sh --oz http://www.sp-fan.ru/episode/ 1907 --посмотреть список доступных озвучек 19 -сезон 07 -серия lala.sh --dw http://www.sp-fan.ru/episode/ 1907 ld --скачать фай где 19 - сезон 07 -серия ld -озвучка
Допилил Spoiler: Code #!/bin/bash while [ 1 ] ; do if [ "$1" = "--links" ] ; then #Получить линки на файлы url="$2" name="$3" oz="$4" list=$(curl $url/$name/) cur=$(echo "$list" | grep m3u8 | sed -r "s/[^h]+//" | sed -e "s/[$name].*//g") muf=$(curl $cur$name/$name"_"$oz.m3u8) listf=$(echo "$muf" | grep ts) lwc=$(echo "$listf" | wc -l) for i in `seq 1 $lwc` ; do echo $cur$name/$(echo "$listf" | sed -n ''$i'p') done elif [ "$1" = "--oz" ] ; then #Посмотреть озвучки url="$2" name="$3" list=$(curl $url/$name/) listozw=$(echo "$list" | grep "?v=") lwc=$(echo "$listozw" | wc -l) let lwc=$(($lwc-1)) seloz=$(echo "$list" | grep m3u8 | sed -r 's|.*_||' | sed -e 's/[.].*//g') for i in `seq 1 $lwc` ; do echo "$listozw" | sed -r 's/[^v]+//' | sed -r 's/[=]+//' | sed -r 's/[v]+//' | sed -e 's/".*//g' | sed -n ''$i'p' done echo $seloz elif [ "$1" = "--dw" ] ; then #Скачать серию url="$2" name="$3" oz="$4" list=$(curl $url/$name/) srd=$(echo "$name" |rev | cut -c 4-) echo $srd cur=$(echo "$list" | grep m3u8 | sed -r "s/[^h]+//" |rev | sed -r "s/[^/]+//" | sed -r "s/[^/]+//"| cut -c 3-|rev) muf=$(curl $cur/$name/$name"_"$oz.m3u8) listf=$(echo "$muf" | grep ts) lwc=$(echo "$listf" | wc -l) for i in `seq 1 $lwc` ; do echo $cur/$name/$(echo "$listf" | sed -n ''$i'p') | wget -i - done cat $listf > $name.ts rm $listf elif [ "$1" = "--dws" ] ; then #Скачать от n и до n серии url="$2" name="$3" st="$4" ed="$5" oz="$6" for i in `seq $st $ed` ; do sd=$(printf '%02d\n' $i) list=$(curl $url/$name$sd/) cur=$(echo "$list" | grep m3u8 | sed -r "s/[^h]+//" |rev | sed -r "s/[^/]+//" | sed -r "s/[^/]+//"| cut -c 3-|rev) muf=$(curl $cur$name$sd/$name$sd"_"$oz.m3u8) listf=$(echo "$muf" | grep ts) lwc=$(echo "$listf" | wc -l) for i in `seq 1 $lwc` ; do echo $cur$name$sd/$(echo "$listf" | sed -n ''$i'p') | wget -i - done cat $listf > "S$name Ep$sd.ts" rm $listf done elif [ "$1" = "--dwrss" ] ; then #Скачать с какого по какой сезон url="$2" namef="$3" named="$4" oz="$5" st="1" ed="100" for i in `seq $namef $named` ; do let k=$k+1 name=$(($namef+$k-1)) for i in `seq $st $ed` ; do sd=$(printf '%02d\n' $i) list=$(curl $url/$name$sd/) cur=$(echo "$list" | grep m3u8 | sed -r "s/[^h]+//" |rev | sed -r "s/[^/]+//" | sed -r "s/[^/]+//"| cut -c 3-|rev) muf=$(curl $cur/$name$sd/$name$sd"_"$oz.m3u8) if [ "$cur" != "" ] ; then listf=$(echo "$muf" | grep ts) lwc=$(echo "$listf" | wc -l) for i in `seq 1 $lwc` ; do echo $cur/$name$sd/$(echo "$listf" | sed -n ''$i'p') | wget -i - done cat $listf > "S$name Ep$sd.ts" rm $listf else echo Not get URL BITCH! fi done done elif [ -z "$1" ] ; then break exit 1 fi shift done