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


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

Автор Тема: Скачивание и обработка картинок  (Прочитано 772 раз)

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

Оффлайн iormark

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Скачивание и обработка картинок
« : 09 Декабря 2011, 09:10:18 »
Здравствуйте..
Не раз не писал скриптов более 5 строк, поэтому сомневаюсь
Мне необходимо сделать программу, которая будет закачивать картинки c других сайтов(эти url у меня уже есть в базе), уменьшать их размер..(в этом мне уже помогли https://forum.ubuntu.ru/index.php?topic=176671.0) Вначале хотел всё это на Java написать, но столько возможностей в системе)), их только надо собрать в месте Wget, Convert.. по этому остановился на Bash
И по этому поводу у меня есть пара вопросов.
Планирую запускать скрипт в cron к примеру каждые пять минут
1) Подключиться к базе и записать например 1000 url в файл
2) закачать wget FILE
3) уменьшить Convert

И вот допустим скрипту не хватило 5-ти минут, он всё ещё работает, а пришло время опять запускать, т.е как такое предотвратить? и вообще правильный у меня ход мыслей?
« Последнее редактирование: 09 Декабря 2011, 10:12:32 от iormark »

Оффлайн vasilisc

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2563
  • г.Северодвинск - строим АПЛ
    • Просмотр профиля
    • Авторские статьи об OpenSource
Re: Скачивание и обработка картинок
« Ответ #1 : 09 Декабря 2011, 11:48:37 »
чтобы скрипт не запускался когда еще предыдущий работает можно применить трюк с файлом-флагом.
вначале скрипта проверяйте наличие файла и если файл существует выходите в скрипте ибо это означает что работает предыдущая версия.

если файла нет ... создавайте файл ... выполняйте действия .. удаляйте файл.
вот набросок
#!/bin/sh
# файл есть??? выходим!
if [ -r /tmp/file.flag ]; then
    exit 0
else
    # файла нет? работаем
    # создаём файл чтобы показать что копия работает
    touch /tmp/file.flag
     
    # делаем тут работу
    #1) Подключиться к базе и записать например 1000 url в файл
    #2) закачать wget FILE
    #3) уменьшить Convert

    # удаляем файл - мы закончили
    rm -f /tmp/file.flag 
fi
exit 0
« Последнее редактирование: 09 Декабря 2011, 11:50:17 от vasilisc »

Оффлайн iormark

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Скачивание и обработка картинок
« Ответ #2 : 09 Декабря 2011, 12:37:54 »
Спасибо)
Сейчас хочу записать в файл url и id(новое имя картинки) делаю так

mysql -u $user -p$pass -e "use $base; use book;select id,picture from book limit 1;" > list_picture
здесь прочитал про Awk
сделал так:
$ awk ‘{ print $1, $2 }’ list_pictureв итоге ошибка: picture: 1: Syntax error: end of file unexpected (expecting "}")

Оффлайн vasilisc

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2563
  • г.Северодвинск - строим АПЛ
    • Просмотр профиля
    • Авторские статьи об OpenSource
Re: Скачивание и обработка картинок
« Ответ #3 : 09 Декабря 2011, 12:49:31 »
выгрузите в list_picture только одни URL
select picture from bookи скармливайте потом список wget
потом обработаете convert

Оффлайн iormark

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Скачивание и обработка картинок
« Ответ #4 : 09 Декабря 2011, 13:30:07 »
Так дело в том что id мне нужен чтобы присваивать его изображениям
т.е после скачивания вышло так, 2343.jpg 123.jpg
такое можно сделать ?

Здесь решение
https://forum.ubuntu.ru/index.php?topic=177189.0
« Последнее редактирование: 11 Декабря 2011, 09:57:31 от iormark »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Скачивание и обработка картинок
« Ответ #5 : 11 Декабря 2011, 17:02:07 »
Тяжко наверное gif'ы по сайтам тырить? =)

Оффлайн iormark

  • Автор темы
  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Скачивание и обработка картинок
« Ответ #6 : 13 Декабря 2011, 19:45:33 »
 неёё :2funny:  я не тырю)) всё обговорено заранее

 

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