Архив рубрики: Путешествия

Python — время в другом часовом поясе

Привет всем! Только что столкнулся с задачей работы со временем в другом часовом поясе. Пришлось разобраться с решением, потому делюсь — может кому пригодиться 🙂 Читать далее Python — время в другом часовом поясе

Как создать активную ссылку в Google таблицах

Привет всем! Совершенно неожиданно в жизни возник вопрос: как создать активную ссылку в Google таблицах? Казалось бы — все просто: в ячейку вводим нечто вроде: =HYPERLINK(link; ‘Как покажем ее в документе’) и радуемся. А если нам нужно сделать такое: вводим адреса, вводим номера домов, и где-то получаем готовую ссылку? Все просто — как всегда, когда разберешься 🙂 Читать далее Как создать активную ссылку в Google таблицах

Как Роскомнадзору заблокировать Telegram?

У некоторых людей иногда наверняка возникает вопрос: как Роскомнадзору заблокировать Telegram? Учитывая техническую подготовку специалистов этой организации дарю готовую технологию, подробности работы которой показаны на видео ниже:

Собственно, как обеспечить работу Telegram — вы можете прочитать тут 🙂

Словарь наиболее часто используемых слов на английским и Python

Сравнительно недавно услышал о том, что для повседневного общения используются порядка 1500 — 2000 слов. Стало интересно, погуглил, и да — оказывается, есть русско-английский словарь, состоящий из 2000 слов, в который входят наиболее часто употребляемые слова. Осталось малое — выучить и … возрадоваться, ага 🙂

Читать далее Словарь наиболее часто используемых слов на английским и Python

Пакетная загрузка файлов с помощью Zennoposter

Запланировав поездку на выходные всей семьей подумал о том, что песни из детских мультфильмов будут очень приятны в дороге. Ну разве плохо петь хором нечто вроде:

? 🙂 Сказано — сделано!
Интересным ресурсом для донорства песен в мой IPod оказался сайт http://savok.name/, посвященный пройденным этапам истории. Выбор песен неплох, но возможности пакетной закачки на сайте — не предусмотрено 🙁

На помощь приходит Zennoposter — я писал о нем ранее, и все же повторюсь — совершенно уникальная программа, позволяющая автоматизировать все происходящее в браузере. Итак, задача проста:
1. Находим ссылку на файл
2. Активируем ее
3. Сохраняем файл на компьютер
4. Переходим к первому пункту

Посмотрев структуру сохранения файлов на указанном сайте видно, что она использует статический параметр: http://savok.name/uploads/music/, а вот имя файла имеет численное значение. Учитывая, что наша задача — сохранение всей базы песен — это только облегчает нашу задачу.

Схема получившегося проекта представлена ниже. Как видите, в самом начале проекта мы устанавливаем начальное значение переменной, отвечающей за рост нумерации запрашиваемого файла. Благодаря этому мы сможем скачать всю базу с первого файла.
Важно: я не добавлял проверку истинности существования ссылки, ибо лениво. Потому в случае возникновения ситуации с мертвой ссылкой программа будет сохранять на вашем компьютере пустой файл.

sound-downloader-1-1

Итак, рассмотрим общую схему работы загрузчика подробнее:
1. Устанавливаем начальное значение переменной.
2. Их созданного списка, куда мы поместили статическое значение ссылки http://savok.name/uploads/music/ получаем эту самую ссылку в виде переменной.
3. Указываем адрес на диске, куда будем сохранять скачанные файлы
4. Формируем GET-запрос в виде: {-Variable.file-}{-Variable.count-}.mp3, где {-Variable.file-} — переменная, имеющая значение http://savok.name/uploads/music/, а {-Variable.count-} — значение счетчика, mp3 — расширение файла, которое не меняется.
5. Выдается уведомление о сохранении файла
6. Увеличиваем значение счетчика на 1.
7. Возвращаемся на пункт 1.

Таким образом наша программка обращается к ссылке http://savok.name/uploads/music/1.mp3, сохраняет ее, увеличивает значение счетчика на единицу, после чего сохраняет второй файл и далее-далее-далее. На самом деле схема достаточно гибкая. Ничто не мешает нам парсить оригинальное имя файла, и грузить его 🙂

На этом все.
Скачать сам проект можно по ссылке 😉

Спасибо за внимание! В случае возникновения вопросов — пишите: oleksiy@lavrynenko.com