Консольный английский. Урок 1. "Награбить" английских фраз
Люблю когда написанная программа делает именно то, ради чего создавалась, и затраченное на нее время со всей очевидностью окупается (бывает такое очень и очень… не всегда). Вот сегодня, например, написал скрипт, вытягивающий с полезного сайта нужные ресурсы.
Сайт этот — audio-class.ru/. Он помогает быстро освоить или подтянуть разговорный английский. Я туда зашел как раз с этой целью: понадобилось освежить речевые навыки. Чтобы не выглядеть наглым пиратом и неблагодарной скотиной, искренне хочу поспособствовать посещаемости этого отличного ресурса, который его авторы развивают, как говорится, не за страх, а за совесть. Отличный контент, с юмором всё сделано, доброжелательно и без всякой рекламы. Спасибо, чуваки, энергии вам в вашем благородном деле!
Теперь о шкурном интересе. Одной из самых важных фишек вышеупомянутого сайта является сборник озвученных фраз, запоминание которых на слух и является, как известно, залогом успеха в изучении языка. Всё там прекрасно работает: небольшие аудиофрагменты звучат прямо с веб-страницы, только успевай глазами соответствующий текст читать. Всего 8 страниц по 50 фраз, итого 400. Но есть недостаток. Память у меня пока еще довольно цепкая и при повторном прослушивании я поймал себя на том, что помню не саму фразу, а ее положение на странице. А хотелось бы рандомно… Вот эта мысль и толкнула на небольшое «преступление»: решил выкачать все аудиофрагменты и прослушивать локально.
Пощуал страницы firebug'ом — да, предчувствия оправдались. Аудио контент представляет собой mp3-файлы, разложенные по 8 каталогам. Причем файлы последовательно пронумерованы, а следовательно
На написание скрипта ушло минут 15.Сам не поверил, когда это всё сработало с первого раза. Впрочем, с первого раза как надо никогда ничего не работает. Так и на этот раз: вместо 400 файлов выкачалось 350. Где еще 50? Оказалось, что на 6-й странице авторы, почему-то, отошли от числовой нумерации файлов и решили называть файлы словами. Посему вторая часть марлезонского балета:
Что, опять не 50, а 47?! Вот тут на сцену выходит великое правило программирования, доступное только посвященным: "А и хрен с ним, с рублем-то!". Не стоят менее 1% файлов того, чтобы ради них еще огород городить. Задача вполне себе выполнена, надеваем наушники и
Сайт этот — audio-class.ru/. Он помогает быстро освоить или подтянуть разговорный английский. Я туда зашел как раз с этой целью: понадобилось освежить речевые навыки. Чтобы не выглядеть наглым пиратом и неблагодарной скотиной, искренне хочу поспособствовать посещаемости этого отличного ресурса, который его авторы развивают, как говорится, не за страх, а за совесть. Отличный контент, с юмором всё сделано, доброжелательно и без всякой рекламы. Спасибо, чуваки, энергии вам в вашем благородном деле!
Теперь о шкурном интересе. Одной из самых важных фишек вышеупомянутого сайта является сборник озвученных фраз, запоминание которых на слух и является, как известно, залогом успеха в изучении языка. Всё там прекрасно работает: небольшие аудиофрагменты звучат прямо с веб-страницы, только успевай глазами соответствующий текст читать. Всего 8 страниц по 50 фраз, итого 400. Но есть недостаток. Память у меня пока еще довольно цепкая и при повторном прослушивании я поймал себя на том, что помню не саму фразу, а ее положение на странице. А хотелось бы рандомно… Вот эта мысль и толкнула на небольшое «преступление»: решил выкачать все аудиофрагменты и прослушивать локально.
Пощуал страницы firebug'ом — да, предчувствия оправдались. Аудио контент представляет собой mp3-файлы, разложенные по 8 каталогам. Причем файлы последовательно пронумерованы, а следовательно
#!/bin/bash
COUNT=1
function pump {
wget "http://audio-class.ru/mp3files/vocabulary/voc$1/$COUNT.mp3"
COUNT=$(($COUNT + 1))
}
for PAGE in {1..8}
do
echo "========== Page $PAGE =========="
while [ $(($COUNT % 50)) -ne "0" ]
do
pump $PAGE
done
pump $PAGE
done
mkdir -p files
mv *.mp3 files
tar cvfz english.tgz files
На написание скрипта ушло минут 15.Сам не поверил, когда это всё сработало с первого раза. Впрочем, с первого раза как надо никогда ничего не работает. Так и на этот раз: вместо 400 файлов выкачалось 350. Где еще 50? Оказалось, что на 6-й странице авторы, почему-то, отошли от числовой нумерации файлов и решили называть файлы словами. Посему вторая часть марлезонского балета:
wget -O - http://audio-class.ru/english-collocations/vocabulary-06.html | egrep -o [a-z0-9_\ ]+.mp3 | while read l ; do wget "http://audio-class.ru/mp3files/vocabulary/voc6/$l"; done
Что, опять не 50, а 47?! Вот тут на сцену выходит великое правило программирования, доступное только посвященным: "А и хрен с ним, с рублем-то!". Не стоят менее 1% файлов того, чтобы ради них еще огород городить. Задача вполне себе выполнена, надеваем наушники и
cd files/
mpg123 -z *.mp3
- —
- 16 апреля 2013, 14:10
Комментарии (4)
RSS свернуть / развернутьSergei_T
yababay
Sergei_T
yababay
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.