Profile

coolwolf0: (Default)
coolwolf0

January 2026

S M T W T F S
     123
45678910
11121314151617
18192021222324
252627 28293031

Custom Text

На днях увидел в сети упоминание аудиокниги Дмитрия Быкова "ЖД". Захотелось прочитать черным по белому, а то все эти "аудио" немного напрягают. Полез в старый добрый Альдебаран - фиг, нет возможности скачать! Попробовал всякие злые поисковые системы - все пути ведут в тот же картель - либо ты читаешь постранично он-лайн (скачать текст не получается!), либо топаешь в онлайн магазин и покупаешь книжку за электронные баксы.

И тогда (после простых манипуляций в шелле) у меня родился скрипт.

Использован один из стандартных шеллов - tcsh (просто я его люблю)
1. вводим параметры в нижеприведенный скрипт

#!/usr/bin/tcsh

setenv BOOK1 'http://www.litportal.ru/genre40/author2877/read/page'
# адрес странички взят  из браузера  при поиске книги на litportal

setenv BOOK2 'book14254.html'
# адрес книги - взят там же

setenv HACKS '--referer=http://www.litportal.ru -q -U Mozilla -O -'
echo '<HTML> <HEAD></HEAD> <BODY>' > book.html

foreach p (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19)
# количество элементов зависит от числа страниц - см. титульную страницу книги
wget `wget ${BOOK1}/$p/$BOOK2 $HACKS | grep getpage | sed '{s/.*src=.//;s/. .*//}'` $HACKS | grep getpage | sed '{s/.*href=.//;s/.;.*//}' > l.lnk
wget -i l.lnk $HACKS > p.html
rm -f l.lnk
perl -pi -e 's/<span class=h>..?<\/span>//g' p.html
grep 's += ' p.html >> book.html
rm -f p.html
end

perl -pi -e 's#\\"##g;' book.html
perl -pi -e 's#xmlns:xlink=http://www.w3.org/1999/xlink xmlns:fb=http://www.gribuser.ru/xml/fictionbook/2.0##g;' book.html
perl -pi -e 's#^s \+= .##;s#.;$##' book.html

echo '</BODY></HTML>' >> book.html

2. Завершив конфигурации запустим скрипт в пустой директории - получим готовый html файл с книгой.

Работает со всеми стандартными юниксами (желательно не использовать root) - главное - наличие tcsh, wget, perl и подключения к сети. Про такие вещи как sed и grep я молчу - наверное в самом жалком embedded линуксе и то они имеются.

При разработке не упал ни один виндовс.
Публикуется как  "тестирование уязвимости" :-)

Page Summary

Expand Cut Tags

No cut tags

Style Credit