Мои программки для работы с LiveJournal и другими сайтами в рамках СГО.
Программки написаны на языке python версии 2.4.3 (настоятельно рекомендую
всем интересующимся темой скачать
и установить себе freeware интерпретатор этого замечательного языка,
объем около 10 мегабайт). Для визуализации сетей я пользуюсь программкой
Pajek,
которая кушает файлы вида *.net и позволяет сделать с ними много интересного.
Ну а теперь - собственно программки:
pylj.py 0.2 - библиотека функций для
работы с livejournal, которую требуют некоторые другие программки,
ее нужно загрузить по-любому;
lj_archiver.py 0.24 - программка-аналог
LJSM, позволяет создавать на диске архив неподзамочных записей для ЖЖ
любого автора, работает как для ЖЖ-юзеров, так и для коммьюнити:
> lj_archiver.py lj-user [deep-in-month] [-c],
где -c флаг для комьюнити; пример использования:
> lj_archiver.py - обновляет все архивы
> lj_archiver.py schegloff 3 - обновляет архив schegloff на глубину 3 месяца
> lj_archiver.py neurosocium 3 -c- обновляет архив комьюнити на глубину 3 месяца
История версий:
- в версии 0.24 исправлена ошибка в считывании основной записи, возникавшая
из-за выделения ее текста по < div >, а не по более надежным тэгам
- в версии 0.23 добавлен обход уже созданных каталогов с архивами
(в архивы комьюнити для опознания их "комьюничности" нужно добавить
файл is_comm.txt, содержащий 1 байт - '1') при запуске без параметров,
тем самым архиватор превратился в своего рода "агрегатор" архив-ленты
- в версии 0.22 изменен способ доступа к записи на ?format=light,
что позволяет архивировать ЖЖ даже самых навороченных стилей. При запуске
без параметра глубины просмотра она принимается максимальной, и архивируется
весь журнал, что может занять изрядное время, а программа - вылететь
где-то в середине работы. В последнем случае следует найти в каталоге
архива файл ?????_index.bak и переименовать его в ?????_index.html, чтобы
при следующем запуске программа учла ранее загруженный индекс.
В плане очередных улучшений - 1) выдача сообщений в случае нештатного
завершения работы, 2) флаг конвертации/неконвертации UTF8=>cp1251 (сейчас
конвертируется в обязательном порядке), 3) импорт картинок, 4) сборка
exe-дистрибутива.
lj_readpost.py 0.32 - программка-аналог
AVThreader, позволяющая вытянуть из ЖЖ и сохранить на диск в виде
одного html-файла длинную (свыше 50 комментариев) дискуссию вокруг
какой-нибудь интересной записи в ЖЖ; версия уже с ?format=light,
работает с журналами любых стилей;
lj_sgolist.py 0.1.- программка, формирующая
сводную статистику и *.net файл для подсети ЖЖ-юзеров, включивших
в свои интересы "СГО"; путем замены "СГО" в исходнике на другой
интерес можно аналогичным образом выделить и другие подсети;
lj_finf.py - определяет "информационную
проводимость" и "коэффициент мультипликации" между базовым ЖЖ-юзером (в
тексте schegloff) и тестируемым ЖЖ-юзером, заданным в диалоге. "Информационная проводимость" - число ЖЖ-юзеров, которых
читает получатель потенциальной новости (например, Вы), одновременно
читающих источник этой самой новости (например, тестируемый ЖЖ-юзер).
"Коэффициент мультипликации" - отношения числа ЖЖ-юзеров, которые
читают Вас и не читают источник потенциальной новости (тестируемого
ЖЖ-юзера) к числу Ваших читателей и к числу читателей источника.
lj_foaf.py - считает статистику по
читателям и писателям заданного ЖЖ-юзера, и выводит списки в *.csv файл
для последующей обработки (далее будет дорабатываться, например, делать
еще и *.net, и *.stat файлы)
lj_clique.py - использует алгоритм Nikita Borisov
быстрого определения максимальной клики (функция largest_cliques_among в pylj.py)
для нахождения этой самой максимальной клики среди френдов заданного ЖЖ-юзера;
пре-альфа версия, очень хочу расширить ее до нахождения всехклик в графе
yahoo_mh.zip - по просьбе jan_y, скрипт для суммирования
данных Yahoo Finance - Major Holders по списку крупнейших компаний (а вот скрипта
для определения этих компаний я не написал, ручками делал) - любопытные данные
получаются
Буду благодарен за любые замечания,
schegloff.livejournal.com, С.Щеглов