Бояндин Константин Юрьевич: другие произведения.

Авторам Самиздата - Сохраняем копию своего раздела со всеми комментариями

Журнал "Самиздат": [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь]
 Ваша оценка:
  • Аннотация:
    Сохраняем свой раздел сами - со всеми комментариями.

Предполагается, что человек, читающий это краткое руководство, достаточно хорошо дружен с Un*x, чтобы установить wget и perl (версии не ниже 5), необходимые для выполнения инструкций.

Вам потребуется небольшой скрипт на Perl для сохранения комментариев. Вы можете взять его из репозитория (выполнив следующую команду - предполагается, что у вас установлен Subversion, svn):

$ svn checkout http://sitools.googlecode.com/svn/trunk/ sitools

В каталоге sitools/getcomments будет файл getcomments.pl - то, что вам нужно. Это идеальный способ, потому что я планирую дорабатывать файл, и, выполнив в каталоге sittols, созданном, как указано выше, команду

$ svn update

вы всегда будете располагать свежей версией. Как альтернатива, возьмите файл, прицепленный к этому тексту - он не будет меняться автоматически, но я постараюсь это делать достаточно регулярно.

Теперь, когда у вас есть wget и getcomments.pl (не забудьте дать последнему права на исполнение, например командой chmod +x getcomments.pl), можно приступать к копированию раздела и всех каталогов в нём. Команды ниже приведены в предположении, что getcomments.pl скопирован в каталог ~/bin (каталог bin в вашем домашнем каталоге), и что вы создали каталог ~/mirrors для хранения архивных копий раздела. Далее я также предполагаю, что имя раздела (адрес), который мы архивиурем, такое: http://zhurnal.lib.ru/p/pupkin_v_t/

1. Копируем все файлы из раздела:

$ cd ~/mirrors
$ wget -np -nv -r -c \
 --user-agent="Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.7) Fedora/3.0.7-1.fc9 Firefox/3.0.7" \
http://zhurnal.lib.ru/p/pupkin_v_t/

В качестве строки user-agent вы можете передать идентификатор любого другого браузера, главное - чтобы такой идентификатор был похож на что-то реальное.

2. Теперь переходим в каталог, где хранятся все файлы раздела и запускаем там getcomments.pl:

$ cd ~/mirrors/zhurnal.lib.ru/p/pupkin_v_t
$ ~/bin/getcomments.pl

Собственно, это всё. В вашем реальном случае подставляйте имя другого раздела и вызывайте getcomments.pl оттуда, откуда вам удобнее. Важно: сайт "Самиздата" часто перегружен и иногда может не справиться с сохранением той или иной страницы (обычно HTTP код 503). В этом случае решение простое: повторно запустите getcomments.pl - он скачает заново только отсутствующие файлы.

Правила именования комментариев таковы: если произведение хранится в файле
abc.shtml
то ленты комментариев к нему записываются в файлы с именами
abc.comment.A.C.html, где
A - номер архива (0, если это текущая лента, ещё не перешедшая в архивы)
C - номер страницы комментариев.

Если вы не владеете навыками и/или доступом к Un*x серверу, где возможно использовать упомянутое выше ПО, оставьте "заявку" на выполнение архивирования здесь или напишите мне письмом список разделов и - нужно ли сохранять их комментарии.

Нынешние ограничения скрипта сохранения комментариев и планы по его развитию:

Принимаются предложения и идеи по модернизации скрипта.


 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Демченко "Нет чужих бед" В.Горъ "Демон.Кн.4.Перемирие" С.Ким "Чужая жизнь" Ю.Иванович "Миры Доставки.Кн.1.На древней Земле" П.Горьковский "Черный парус,адские берега" Т.Патрикова "Особенности эльфийской психологии" А.Сухов "Охотник" Л.Кондратьев "Товарищ Ссешес" Ю.Фирсанова "Рыжее братство.Точное попадание" А.Бобл "Последняя битва" М.Белозеров "Войны Марса" Т.Форш "Космический отпуск" А.Кленов "В понедельник я убит" С.Непейвода "Наследники Предтеч" Д.Север "Эорпата" Н.Щерба "Свободная ведьма" А.Вербицкий "Безжалостный край" А.Владимиров "Волонтер:Нарушая приказы" В.Коваленко "Боевые паруса.На абордаж" Е.Малиновская "Последняя жизнь нечисти" И.Бондарь "Кровь в огне" А.Спесивцев "Флибустьер времени.Сарынь на кичку!" В.Чиркова "Женись на мне,дурачок!" А.Валерьев "Форпост:найди и убей" Я.Тройнич "Леди и рыжая сеньорита"

Как попасть в этoт список

Сайт - "Художники"
Доска об'явлений "Книги"