четверг, 20 октября 2011 г.

bash автоматическое скачивание файлов по ссылкам с запароленого сайта

Имеем:

  • сайт http://site.ru
  • авторизация методом post через скрипт  http://site.ru/login.aspx
  • после авторизации необходимо скачать все файлы по ссылкам с определенной странички
Решение:
#!/bin/bash
dir_script=/home/user/bash-script
echo "название_поля_логина=логин&название_поля_пароля=пароль&submit=Войти&---" | lynx -post_data http://название_сайта/login.aspx > $dir_script/tmp/page_1
grep -ho "http://название_сайта.ru/download.aspx?file_id=[0-9]\+\{1,\}" $dir_script/tmp/page_1 | sort | uniq > $dir_script/tmp/list_links
wget --keep-session-cookies --save-cookies $dir_script/tmp/cookies.txt --post-data 'название_поля_логина=логин&название_поля_пароля=пароль&submit=Войти' http://название_сайта.ru/login.aspx
wget --load-cookies $dir_script/tmp/cookies.txt -c -i $dir_script/tmp/list_links -P /home/share/files/
rm $dir_script/index.html
rm $dir_script/tmp/cookies.txt
rm $dir_script/tmp/page_1

Комментариев нет: