Форумы

GNU.SU - Записки нубо-линуксойда :: Форумы :: CLI vs GUI :: Жизнь во мраке
 
<< Предыдущая тема | Следующая тема >>
Получение прямых ссылок на видео вконтакте
Модераторы: tastelinux, Frizze, andrey, Bender
Автор Добавил
tastelinux
Птн Мар 25 2011, 09:51
andreika

ID пользователя #1
Зарегистрирован: Птн Апр 30 2010, 12:25

Сообщений: 337
Что-то никак не получается прекратить писать скрипты.
На этот раз выкладываю порождение дзен-магии, тормознутого фаербага и безумной вакханалии regexp-ов.
Этот скрипт умеет получать прямые ссылки на видеофайлы на основе переданного ему url-а.
#!/bin/bash
#vkget dirty version

tmpf=`mktemp`
curl -so $tmpf $1
uid=$(cat $tmpf|egrep -o '\\"uid\\":\\"[0-9]+\\"'|egrep -o "[0-9]+"|head -n1)
vtag=$(cat $tmpf|egrep -o '\\"vtag\\":\\"[0-9a-zA-Z]+-?\\"'|egrep -o "[0-9a-zA-Z]+-?"|grep -v "vtag")
vkhost=$(cat $tmpf|egrep -o '\\"host\\":\\".+\\"'|egrep -o '[a-z0-9\.]+(vkontakte|vkadre)\.ru'|head -n1)
vkid=$(cat $tmpf|egrep -o '\\"vkid\\":\\"[0-9]+\\"'|egrep -o "[0-9]+"|head -n1)

if [ -n "$vkhost" ]; then
        if [ "$uid" != "0" ]; then
       
                if [ -z "$(curl -sI "http://$vkhost/u$uid/video/$vtag.flv"|grep 404)" ]; then echo "http://$vkhost/u$uid/video/$vtag.flv";fi
                if [ -z "$(curl -sI "http://$vkhost/u$uid/video/$vtag.240.mp4"|grep 404)" ]; then echo "http://$vkhost/u$uid/video/$vtag.240.mp4";fi
                if [ -z "$(curl -sI "http://$vkhost/u$uid/video/$vtag.260.mp4"|grep 404)" ]; then echo "http://$vkhost/u$uid/video/$vtag.360.mp4";fi
                if [ -z "$(curl -sI "http://$vkhost/u$uid/video/$vtag.480.mp4"|grep 404)" ]; then echo "http://$vkhost/u$uid/video/$vtag.480.mp4";fi
                if [ -z "$(curl -sI "http://$vkhost/u$uid/video/$vtag.720.mp4"|grep 404)" ]; then echo "http://$vkhost/u$uid/video/$vtag.720.mp4";fi
        else
                if [ -z "$(curl -sI "http://$vkhost/assets/videos/$vtag$vkid.vk.flv"|grep 404)" ]; then echo "http://$vkhost/assets/videos/$vtag$vkid.vk.flv";fi
        fi
fi

rm $tmpf



Использование:
./vkvget "http:/vnontate.none/video12345678_87655411"



P.S.
Доменное имя изменено намеренно.
За работоспособность не ручаюсь, но буду благодарен, если пришлете в личку ссылки на видео, которые в браузере открываются, а скрипт не может получить ссылку.
Для работы нужен curl.

Via Welinux

[ Редактирование Птн Мар 25 2011, 01:49 ]
Наверх

 

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System