Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет schegloff ([info]schegloff)
@ 2006-11-30 23:10:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Бэкап ненавороченных ЖЖ на python: lj_archiver
Кое-что обновил на своей страничке питоновских полезняшек. Для широкого круга пользователей интересен будет прежде всего lj_archiver.py - программка, функционального аналога которой я просто не знаю (иначе бы и писать не стал).

Что делает lj_archiver.py? Вроде бы самые простые действия: 1) определяет, в каком месяце была сделана первая запись в указанном журнале, 2) формирует общий список (индексный файл) всех неподзамочных записей журнала, 3) для каждой записи проверяет, сохранена ли она на диске с тем же количеством комментариев, которое фигурирует в индексе, и если комментариев прибыло (или запись не была сохранена), считывает запись, 4) в случае, если число комментариев превышает 50, и запись является "многотредовой" - разворачивает все комментарии, и сохраняет результат в одном файле.

В результате многократного применения lj_archiver у вас может получиться примерно такой архив ЖЖ:
[каталог с lj_archiver.py]
   [lj_archive]
      [schegloff]
         schegloff_index.html
         .... куча записей вида schegloffNNNNNN.html, где NNNNNN
              - присвоенный LJ номер очередной записи
      [galkovsky]
      [krylov]
      .... и куча других ЖЖ-юзеров, журналы которых вы хотели бы
           сохранить себе на всякий случай.


Казалось бы, ничего особенного. Однако в ситуации, когда самый популярный на сегодня LJArchive сохраняет только те журналы, к которым у вас есть пароль (т.е. сохранить чужие ЖЖ вы им не сможете), да еще и не всегда работает (на моем ЖЖ - затыкается), а самый лучший на сегодня LJSM разворачивает длинные треды только не длиннее двух страниц (в то время как у Галковского почти все записи сопровождаются 3 и более страницами комментариев) - написание собственной программы оказалось единственным способом получить полный бэкап открытых записей большого количества интересных журналов.

Ну а теперь о грустном. Программа понимает только ЖЖ с простыми стилями. Навороченные журналы, такие, например, как у [info]shurigin@lj, ей "не по зубам". Версия программы - всего 0.2, поэтому не удивляйтесь, если на каком-то журнале она выдаст вам совершеннейшую ахинею. Автор, то есть я, всегда доступен - пишите, что сумею, поправлю.

P.S. Насколько я понял, пользователей питона в ЖЖ немного. Поэтому пока особо пиарить этот архиватор не стоит. Попробую закинуть сообщение в ru_python, на предмет помощи в сборе экзешника, и если оный получится, - вот тогда нужно будет его разрекламировать. А пока жду пожеланий по улучшению программки.


(Читать комментарии) - (Добавить комментарий)


[info]ivanstor
2006-12-01 21:23 (ссылка)
Начал потихоньку разбираться с вашим скриптом.
Сразу замечание.
Не надо конвертировать файлы из UTF8 в cp1251!
В LJ нередко встречаются посты на разных языках одновременно, с различными значками, например математическими. Такая конвертация их искалечит. Кроме того, неясно -- а зачем, собственно, это делать?

(Ответить)


(Читать комментарии) -