Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Как автоматизировать скачивание файла с динамической ссылкой?  (Прочитано 2767 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Magi

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Здравствуйте!

Нужно ежедневно скачивать, для последующей обработки 2 файла
Xls-таблица отсюда
http://grls.rosminzdrav.ru/PriceLims.aspx
Ссылка на файл выглядит вот так
http://grls.rosminzdrav.ru/GetLimPrice.aspx?FileGUID=ab477d59-7508-48f9-825e-04a725db4fa0&UserReq=7355747

FileGUID меняется ежедневно, насколько я понял при обновлении файла и UserReq при каждом обновлении страницы.

Второй адрес аналогичен, только это zip-файл
http://grls.rosminzdrav.ru/GRLS.aspx
http://grls.rosminzdrav.ru/GetGRLS.aspx?FileGUID=bad04782-645c-4cd2-82d2-67791e0da842&UserReq=1698735

Подскажите пожалуйста, как можно скачивать актуальную версию файла?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Код: (bash) [Выделить]
wget -O- "http://grls.rosminzdrav.ru/PriceLims.aspx" | grep "xls.*FileGUID" | grep -o "href='[^']*'" | awk -F "'|," '{print $2}' | xargs -i wget --content-disposition -c "http://grls.rosminzdrav.ru/{}"Второй сообразите сами по аналогии. ;-)

Оффлайн Magi

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
в ubuntu работает отлично, но в шелле freebsd 6.2 на сервере(выяснилось), видимо из-за различий версий xargs и wget (на freebsd в xargs нет -i, а в wget нет опции --content-disposition)

xargs: illegal option -- i
При замене -i на -I

xargs: illegal option -- -


Ключи xargs в freebsd

 xargs [-0opt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr]
           [-L number] [-n number [-x]] [-P maxprocs] [-s size]
           [utility [argument ...]]

Можно его как-то адаптировать?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Код: (bash) [Выделить]
URL=$(wget -O- "http://grls.rosminzdrav.ru/PriceLims.aspx" | grep "xls.*FileGUID" | grep -o "href='[^']*'" | awk -F "'|," '{print $2}') ; wget -c "http://grls.rosminzdrav.ru/$URL" -O PriceLims.xls

Оффлайн Magi

  • Автор темы
  • Участник
  • *
  • Сообщений: 116
    • Просмотр профиля
Огромное спасибо! :)

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.