Изменения: больше не нужен expect и устанавливать поэтому ничего больше не нужно вместо него telnet + sleep, есть вероятность что запустится на фряхе если #!/bin/bash поменять на #!/usr/local/bin/bash но не проверял. Появился маленький хелп он появится если запустить c ключем -h: "intvget.sh -h"
Вообщем навык приобретается помаленьку. Основное в файле прокомментировано. Вся инфа исключительно для учебных целей.
#!/bin/bash
# номер сериала
i=$1 # или help
if (( i != "-h" ))
then
# место куда будем закачивать
derekt=$2
# номер серии
n=$3
# если номер серии не был введен то скачиваем с первой
if [ -z "$n" ]
then
n=1
fi
# сколько будем ждать страницу из инета покане отвалимся по таймауту, если инет тормазной ставь побольше
slp=10
# скачиваем страничку в переменную $http
html=`( echo "GET /get/?url=http%3A%2F%2Fintv.ru%2Fview%2F%3
## генерируем самую первую ссылку для скачивания
url=`echo $html | sed 's/\"\(http:\/\/[0-9a-z\.\/]\{1,\}\)\" title=\"Файл №'$n'\"/\|\1\|/g' | awk -F"\|" '{ print $2 }'`
## находим имя
name=`echo $url | sed 's/\([0-9a-z]\{1,\}$\)/\|\1\|/' | awk -F"\|" '{ print $2 }'`
## здесь будет цикл
## если строка url не пустая тогда бежим качать
while [ -n "$url" ]
do
#проверка данных
echo сериал $i Номер серии №$n, url $url, имя файла $name
## делаем что бы имя файла было не 1.flv 2.flv - 9.flv а 01.flv 02.flv - 09.flv
if (( $n < 10 ))
then
newname=0$n
else
newname=$n
fi
## скачиваем по ссылки в нашу папочку файло
## переименовываем если закачалось удачно инкремируем счетчик если переименовали удачно
wget -P "$derekt" "$url" && mv "$derekt/$name" "$derekt/$newname.flv" && let n=$n+1
## генерим линк на следующую закачку
html=`( echo "GET /get/?url=http%3A%2F%2Fintv.ru%2Fview%2F%3
# подождем пока страница придет из инета
sleep $slp
url=`echo $html | sed 's/\"\(http:\/\/[0-9a-z\.\/]\{1,\}\)\" title=\"Файл №'$n'\"/\|\1\|/g' | awk -F"\|" '{ print $2 }'`
name=`echo $url | sed 's/\([0-9a-z]\{1,\}$\)/\|\1\|/' | awk -F"\|" '{ print $2 }'`
done
else # i=-h тут наш мини хелп
echo "intvget.sh [номер сериала] [\"дирректория для скачивания\"] [номер серии(не обязательно)]"
echo "пример intvget.sh 1234 \"./Видео/сериал 1/\" 7"
fi
exit 0

Но, каждые ~15 минут всплывает реклама и терпеть это не было сил.
Тогда я решил скачать этот сериал при помощи этого сайта.
Ну так берем ссылку с intv вставляем в поле на сайте cs.videosaver.ru и у нас есть список файлов который мы скачиваем.
Типа все гуд но каждые примерно пол часа название файлов меняются и что бы качать дальше нужно обновить запрос на cs.videosaver.ru короче муторно и следить нужно. Решил я процес автоматизировать.
В наличии была машина с ubuntu ака debian.
1. ставим expect
#apt-get install expect
2. создаем файл expect.sh
делаем его исполняемым.
пишем в него:
#!/usr/bin/expect
# i это циферки которые берем со страницы с сериалом на сайте intv.ru например сериал x-files 2-й сезон ссылка http://intv.ru/view/?film_id=2737 берем последние цифорки подставляем
set i 2737
spawn telnet cs.videosaver.ru 80
expect "Escape character is '^]'."
send "GET http://cs.videosaver.ru/get/?url=http%3
expect eof
3. создаем файл intvget.sh
делаем его исполняемым.
пишем в него:
#!/bin/bash
## обнуляемся
## i - номер закачки, если закачка прервалась можно подставить номер серии с каторой нужно продолжать закачку
i=1
# место куда будем закачивать
derekt=./video/x-files/x2
# место куда положили файл expect.sh я положил в /home/username/bin
exp=./bin
## генерируем самую первую ссылку для скачивания
## запускаем ./bin/expect.sh получаем html файл с сылками на скачивание
## удаляем строки содержащие grep -v 'div id="divLink"' они лишнии
## рубим строку на части ставим перевод строки вместо value=" sed "s/value=\"/\n/g"
## в нем находим строку grep "Файл №$i\""
## делим строчку на части используя разделитель " и берем первое слово что и есть ссылка
url=`$exp/expect.sh | grep -v 'div id="divLink"' | sed "s/value=\"/\n/g" | grep "Файл №$i\"" | awk -F"\"" '{ print $1 }'`
## здесь будет цикл
## если строка url не пустая тогда бежим качать
## -n "$url"
while [ -n "$url" ]
do
## узнаем количество слов разделенных знаком / последнее есть название файла приравниваем число к var
var=`echo $url | awk -F"\/" '{ print NF }'`
## забираем последнее слово разделитель / это название файла скидываем его в переменную name
name=`echo $url | awk -F"\/" '{ print $'$var' }'`
#проверка данных
echo Номер закачки №$i, url $url, имя файла $name
## делаем что бы имя файла было не 1.flv 2.flv 3.flv а 01.flv 02.flv 03.flv
if (( $i < 10 ))
then
newname=0$i
else
newname=$i
fi
## скачиваем по ссылки в нашу папочку файло (поменять ./bin на переменную)
## переименовываем если закачалось удачно инкремируем счетчик если переименовали удачно
wget -P $derekt $url && mv $derekt/$name $derekt/$newname.flv && let i=$i+1
## генерим линк на следующую закачку
#url=`grep -v 'div id="divLink"' ./bin/cs.videosaver.ru.html | sed "s/value=\"/\n/g" | grep "Файл №$i\"" | awk -F"\"" '{ print $1 }'`
url=`$exp/expect.sh | grep -v 'div id="divLink"' | sed "s/value=\"/\n/g" | grep "Файл №$i\"" | awk -F"\"" '{ print $1 }'`
done
exit 0
4. запускаем скрипт intvget.sh курим бамбук 20-30 минут и можно смотреть первую серию, пока смотрим, закачается остальное.
это был первый опыт скриптописания, поправки предложения по усовершенствованию принимаются.
(с) Lis
- Music:тишина
Шикарная игра.
Переходим на Джаббер!Представьте, что в мире есть только один почтовый сервер www.email.com и все любители электронной переписки обязаны пользоваться именно им, устанавливать его клиентское ПО и смотреть его рекламу.
Примерно так обстоят дела в мире ICQ. И в последнее время владельцы этого cервиса (AOL) строят различные козни пользователям альтернативного ПО. Это приводит к тому, что я теряю контакт с половиной друзей. Бизнес-модели AOL и Рамблера основаны на том, что я ленивое ограниченное существо, привыкло к их дражайшей Асе и буду покорно смотреть их дурацкую рекламу и пользоваться их безобразными программами. Ведь на ICQ свет клином не сошёлся. Есть гораздо более совершенная и открытая система Jabber и масса более удобных программ. Перейти на «Джаббер» – дело нескольких минут.
Jabber не имеет владельцев, как и протокол электронной почты. Хотя, конечно, у Jabber-серверов есть хозяева. Jabber предоставляет куда более интересные возможности, чем ICQ. Некоторые из программ, например, русскоязычный QIP Infium позволяют одновременно находиться и в ICQ и в Jabber.
Читайте и присоединяйтесь:
Встретимся в Джаббере!
Разместите этот текст у себя в блоге или на сайте! |
| Дата | Входящий(in) (Мб) | Исходящий(out) (Мб) |
|---|---|---|
| 2008 Июнь | 26 079,70 | 30 041,27 |
| 2008 Июль | 28 382,17 | 171 828,95 |
| 2008 Август | 31 063,06 | 125 090,93 |
| 2008 Сентябрь | 37 022,85 | 114 431,07 |
| 2008 Октябрь | 79 838,77 | 182 055,29 |
| 2008 Ноябрь | 48 372,13 | 221 625,30 |
| 2008 Декабрь | 42 499,65 | 273 567,05 |
| 2009 Январь | 46 203,23 | 331 008,86 |
| 2009 Февраль | 12 984,99 | 158 914,23 |
| Итого: | 352 446,55 | 1 608 562,96 |
Активно юзаем...
- Mood:
crazy
А дзен рядом =)
Дата 2009-02-14 02:31:30
узнать в unix: date +%s
Давно паяльник в руках не держал.
Всем кому нужен аналог аськи читать это
Герою которого играет Сергей Гамаш респект. Приехал с войны контуженный, но живой и целый, выпинал нахрен жену шалаву, воспитывает двух пацанов, причем без строевой, и когда Мелса потянуло в стиляги понял его.
...Ты в кибитку не ходи...
Хорошо доехать им! Тьфу тьфу тьфу, тук тук тук.
Очень часто сидя на linux возникала необходимость загружаться в windows, так как Adobe Flash работает под win. Но он так же работает и под Mac OS X. Чуть было грешным делом его не поставил.
И совсем недавно наткнулся на открытый графический стандарт SVG, который имеет структуру XML документа. Проще говоря картинки можно рисовать в блокноте! Хотя есть и графические редакторы например Inkscape.
Но Adobe Flash на данный момент имеет большее распространение, т.к появился раньше. Поживем увидим
нашел еще один интересный девайс Trimble Juno SB и SC
до 12 часов работы и все при нем
но он еще в разработке... и сколько стоить будет?


они похожи как будто одинаковые
Acer n310, n311, n320, n321
Жудко понравился дизайн, до того что хочу-нимагу, но черт придется добавить GlobalSat SD 502! В них нет GPS!!!
я зол!
Альтернатива Asus MyPal A696

Вспомнилась Ленчик =) Выздоравливай!





