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

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

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

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

Сообщества

Настроить S2

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



Пишет rusec ([info]rusec)
@ 2007-08-01 18:37:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Итоги за первый месяц

Взято c Либрусека. Комментарии приветствуются.

Результаты за июль:

Всего книг в библиотеке: 88162, из них fb2: 76546 (подробности - http://lib.rus.ec/stat/).

Думается, процентов 20 из этого - дубли, подлежащие поиску и искоренению. Но мы работаем над этим.


Посетители - 11 тысяч, из них 6500 уникальных, не считая роботов.

В начале месяца - 150-200 в день, в конце - 500-700.

Страны: почти половина США, на втором месте РФ, остальные ~70 по чуть-чуть (по данным geoip).

Браузеры: MS Internet Explorer 38.4%, Firefox 33.7%, Opera 15.9%


Два автора прислали авторские версии.


Благодаря Orphus исправлено 8 опечаток на сайте.


13 пользователей принимают участие в исправлении ошибок в базе. Ими уже сделано 482 исправления.


Планы на август:

Доразобрать несколько тысяч выкаченных, но пока не выложенных книжек.

Разобраться с зеркалом book-lib (book.lib.rus.ec), сделать по нему навигацию и поиск.

Сделать исправление опечаток в книгах.



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


[info]heleknar@lj
2007-08-01 22:33 (ссылка)
решпект вам и увага!

особенно за новинки типа перумова и успенского!

(Ответить) (Ветвь дискуссии)


[info]rusec@lj
2007-08-02 19:15 (ссылка)
Спасибо.
Присоединяйтесь.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]heleknar@lj
2007-08-02 20:00 (ссылка)
каким образом могу помочь?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-02 20:14 (ссылка)
Поиск и исправление дублей авторов, дублей книг, неправильно прописанных или совсем непрописанных авторов/жанров/etc, добавление биографий авторов и аннотаций к книгам, залив недостающего, перевод из doc/rtf/txt/etc в fb2. Только в разделе Автор Неизвестен более четырех тысяч, у большинства из которых автора определить несложно. Масса книг в pdf/djvu, которые тоже хотелось бы распознать. Раздел нот в совершенном беспорядке, хотя наполнение неплохое.
В ближайшей перспективе - исправления опечаток и ошибок сканирования - это по собранию. Помимо того есть масса проблем с Друпалом, это для знатоков оного.
Короче, работы масса, на любой вкус. Включая не требующую особых навыков программирования или вёрстки. Ещё и забыл чего-нибудь наверняка.
Регистрируйтесь на Либрусеке и впрягайтесь. Наверняка есть любимые писатели, причесать библиографию которых будет несложно и приятно.
Я как-то изначально пошел по пути набора количества в ущерб качеству. Поэтому по наполнению библиотека - наверное, на сегодня лучшая среди русскоязычных, а вот по упорядоченности - есть куда стремиться. На мой взгляд, лучше три плоховычитанных варианта, чем ни одного, но один вычитанный и аккуратно сверстанный - ещё лучше, естественно.

(Ответить) (Уровень выше)


(Анонимно)
2007-08-03 18:14 (ссылка)
===========Разобраться с зеркалом book-lib (book.lib.rus.ec), сделать по нему навигацию и поиск.

что именно подразумевается под навигацией и поиском. Спрашиваю потому как если это по отдельным книгам, то надо прикручивать тамошнюю базу, ну и все функции, что отсюда следуют. Фактически это еще один книжный архив с базой будет, сравнимый с основной либой. Надо ли? Или я чего-то не понимаю?

Может для начала выложить просто образы дисков, обновления по кускам, как они сгруппированы, а потом организовать прием новых обновлений и автоматом архивировать их в один файл с соответсвующим номером? Размер файла будет 150-200 Мб.

Ну и проверять новинки на отсутсвие в основной либе и недостающее добавлять к основной либе.

ИМХО, даже это реализовать нетривиально.

wbr, kv

(Ответить) (Ветвь дискуссии)


[info]rusec@lj
2007-08-03 18:17 (ссылка)
Образы первых двух дисков и архивы обновлений уже выложены.
Глянь http://book.lib.rus.ec (http://book.lib.rus.ec)

Базу пока прикручиваю твою, там посмотрим. Как её выковыривать из обновлений буклиба я пока не понял.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-03 18:56 (ссылка)
==========Глянь
спасибо. А не подскажеши, как список копировать, чтобы в качалку засунуть. А то жать на каждый файл будет неудобно.

==========Базу пока прикручиваю твою, там посмотрим.
База не моя:) Я юзер.

==========Как её выковыривать из обновлений буклиба я пока не понял.
а вот это - нетривиально.
основные моменты
Здесь устроено так, что система стоит у юзера. У юзера есть база и файловый архив скнигами. Путь к файлу в этом архиве прописан в базе. формат базы - самодельный.

Обновление заключается в том, что есть набор файлов csv формата, в котором описаны новые записи к имеющейся у юзера базе. Ну и есть сами файлы. Закачка обновления заключается в том, что сначала добавляются файлы csv к базе а потом уже закачиваются сами файлы и раскладываются по местам, как написано в базе.

Вот я и говорю, что для поиска по книгам и другой навигации тебе надо
1. разложить все книги по местам, т.е. развернуть все архивы дисков и обновлений в файловый архив этой либы
2. писать свою СУБД, чтобы можно было работать с базой уже в твоем формате. Начальное наполнение базы - на текущее состояние - можно получить двумя путями - или поставить имеющуюся прогу и сконвертировать тамошнюю базу в csv, или чтобы кто-то тебе прислал эти файлы. Я могу. Но только у меня база на 130 обновление.

Вот я и говорю, что работа с базой - это фактически написать еще одну либу - как твоя основная.

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

wbr, kv

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-04 00:34 (ссылка)
База есть, ты же мне вливал csv.
Загнать его в mysql - ровно одна команда.
Запишу себе для памяти, вдруг еще понадобится:
mysqlimport -u %user --password=%pass -L -v --default-character-set=cp1251 --ignore-lines=1 --fields-terminated-by=';' --fields-optionally-enclosed-by='"' --fields-escaped-by='~' %database booklib.cvs
По твоей базе поиск я сделал - http://lib.rus.ec/booklib (http://lib.rus.ec/booklib).
Там 90% возьни было не с базой, а с iso, которые мне на хостинге открыть нечем. Пришлось писать бродилку наколенную. Но вроде заработало.
Теперь вопрос - в обновлениях csv такой же или другой?
И не мог бы ты залить дополнения базы до фактического наличия? Ты как-то лучше в буклибе ориентируешься.
А там уже посмотрим, как обновляться.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-04 03:12 (ссылка)
=============База есть, ты же мне вливал csv
это листинг базы, в котором все таблицы сведены в одну таблицу. за мелкими исключениями.
=============Пришлось писать бродилку наколенную. Но вроде заработало.
посмотрел - супер. Я даже не знал, что можно без разворачивания вовнутрях копаться. Такой навигации достаточно вполне.
=============Теперь вопрос - в обновлениях csv такой же или другой?
не такой. там отдельные csv по каждой таблице. Ну и используются индексы, например, в списке файлов вместо автора его идекс и т.д - вобчем, как положено в базе.

подумаю, как это можно сделать. в конце концов пока что можно просто новый листинг присылать да хоть раз в месяц. Ничего страшного.
==============И не мог бы ты залить дополнения базы до фактического наличия?
у меня проблемы - не могу фар настроить чтоб работал с проксей, плагин почему-то список файлов на сервере не показывает. Пока борюсь.

А вообще-то закачку автоматом сделать просто. Это даже я смог :)
Общий алгоритм такой
1. закачиваем описание обновления - выше ссылка где они лежат.
2. вытаскиваем оттуда catalog.xxx
3. берем оттуда имена файлов и проверям их наличие в имеющемся архиве. Если размеры различаются (в этом файле могут быть новые файлы, обновления существующих и обновления только описания базы для файла), то заносим этот файл в список закачки.
4. запускаем закачку для списка серверов, где лежат файлы. Ну у меня в скриптах еще есть предварительная закачка списка чего лежит на сервере и выбор из общего списка закачки только то, что там есть. Но да это можно и не делать. Экономии трафика практически не дает.
5. если это делать через 2 недели после появления файла обновления, то все файлы уже будут на серверах и будут закачаны за один раз.

Ну или могу договориться, чтобы Фил залил. Но это когда у него будет время.

(Ответить) (Уровень выше)


(Анонимно)
2007-08-04 03:57 (ссылка)
===========================База есть, ты же мне вливал csv
влил новый рядом со старым. (маленькие файлы я вливать умею - через диалапное подключение без прокси). Только надо иметь в виду, что там есть порядка 2500 книжек, которых реально пока еще нету на выложенном зеркале. Сейчас на отсуствующие выдает ошибку 500 Server Error

Ну и может имеет смысл и этот список выложить на зеркало?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-04 18:02 (ссылка)
Значит, докачаю недостающие. Как я понял, от 115 и дальше?
Список выложил.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-05 01:17 (ссылка)
да. всего пока 130.

(Ответить) (Уровень выше)


[info]rusec@lj
2007-08-04 00:46 (ссылка)
А не подскажешь, как список копировать, чтобы в качалку засунуть. А то жать на каждый файл будет неудобно.
wget -m http://book.lib.rus.ec - и будет тебе счастье. При этом - ничего лишнего. Навигации там нету. Совсем.
Короче, Save As - вот он и список ссылок. Там всё на одной странице.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-04 03:17 (ссылка)
спасибо, так я умею:)

(Ответить) (Уровень выше)


(Анонимно)
2007-08-03 19:10 (ссылка)
============Как её выковыривать из обновлений буклиба я пока не понял.
вот пример файла обновления. Это номер 115 - первое, которое в выложеннох архивах нету
ftp://ddt.demos.su/pub/fileecho/BOOK/bookl115.rar
в этом архиве есть файл catalog.115 вот из него легко добыть сам список файлов. А сами файлы надо брать на серверах, можно посмотреть в моих скриптах что я давал ссылку.
wbr, kv

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-05 03:50 (ссылка)
Написал выкачивалку обновлений.
Та ещё задачка оказалась, на килобайт перловки потянула. Больше 40 строк. Не думал, что будет так сурово. И это при том, что большую часть работы делает wget, только параметры подсовывай.
Интересный эффект. Из дома всё работает замечательно. С сервера не получается ничего выкачать - все ftp что я знаю (asp_sotcom_ru,ddt_demos_su,
minsk_mgts_by) отказываются отдавать что-либо. Непонятно.
Придется вытягивать домой, а потом заливать на либрусек.
Вытягиваю 115-130. Это соответствует той базе, что ты залил?

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-05 12:52 (ссылка)
========Не думал, что будет так сурово.
ничего себе сурово:) Я пол-года соображал, пока у меня получилось.
========отказываются отдавать что-либо. Непонятно
ага, такого не замечал. Есть еще сервер bym_comex_ru. Там самая полная коллекция - все файлы от начала хождения фэх. На других - только ограниченое время лежат. Однако на этом сервере отдача у меня выше 5К никогда не поднималась.
========Это соответствует той базе, что ты залил?
да. с одной особенностью.
В каждом обновлении несколько файлов - обычно штук 10, прекладываются на новое место. Вот для них в моем файле указано как они должны правильно лежать, а на самом деле они там по старому месту лежат. Вот для них будут выдаваться ошибки. Эти файлы указаны в movefil.xxx. Если эти файлы извлечь из старых архивов и вложить в новое обновление, то тогда соответсвие будет полным. Но только где они лежат, можно найти только поиском по имени - без базы в смысле. Если это сложно - то не делай. И так отлично. Спасибо еще раз.

Для очередного обновления, мне кажется, будет правильно создавать структуру файлов в соответствии с базой, а потом свернуть в один архив где в имени будет номер присутсвовать. Будет файл 150-200 метров.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-05 13:17 (ссылка)
Так ты небось не на перле писал, а на С каком-нибудь. Где ни хэшей, ни регекспов. Тогда да, тяжело. К тому же в среднем строчка перла заменяет десяток строк С, примерно как строка С заменяет десяток ассемблера. Полсотни строк перла - это много.

movefil обработать не сложно.
Это надо проделать для обновлений 115-130, или для более ранних тоже?

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-05 15:19 (ссылка)
===========на С каком-нибудь
ага, еще и после десятилетнего перерыва. Тряхнул стариной, так сказать:)
===========Это надо проделать для обновлений 115-130
да, причем желательно сохранять порядок. Это не уверен, но сам так делаю и все нормально.

для старых все сделано.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-05 17:02 (ссылка)
тупо смотрю на MOVEFIL.115
ANFINM01.RAR "BOOK\KULINAR.605\ANFINGER.M_"
Это означает, что ANFINM01.RAR надо переложить в "BOOK\KULINAR.605\ANFINGER.M_"? А если их несколько? Имя файла же не уникально? Кого именно перекладывать? Все?

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-05 18:46 (ссылка)
имя уникально.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-05 18:55 (ссылка)
в твоей базе 65 неуникальных имен файлов.
в частности, MAMLEY03.HA встречается 104 раза, KONDOL04.HA - 41 раз, SHCR_A06.HA - 8 раз. Сделай сам SELECT sum (1), FileName FROM `booklib` Group by 2 order by 1 desc, или как оно там в твоей базе пишется.
их все поудалять?

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-05 19:09 (ссылка)
это ошибки.
причем похоже в базе. файлы реально лежат по одному. Бум править.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-05 19:13 (ссылка)
Хорошо, я тогда ничего трогать не буду, подожду от тебя правильной версии базы. Чтоб не плодить версии.
На всякий случай тебе список:
102 MAMLEY03.HA
41 KONDOL04.HA
8 SHCR_A06.HA
2 UN_AU171.HA
2 UN_AU243.HA
2 NOVIKO01.HA
2 ALLSTA01.RAR
2 TM_90-05.RAR
2 MELIKH01.HA
2 KORKI.HA
2 GORDON01.HA
2 UN_AU172.HA
2 MELIKH02.HA
2 IVASCH01.HA
2 GROMOD01.HA
2 TSVETK01.HA
2 MISHIN01.HA
2 TARASO01.HA
2 NIKOLA01.HA
2 MELIKH03.HA
2 LAUDIC01.HA
2 ABRAMA01.HA
2 TARASF01.RAR
2 LUKIN.JPG
2 UN_AU432.RAR
2 RYBINV01.HA
2 MELNIK01.HA
2 DICKEC07.HA
2 MARKIN01.HA
2 SARASS01.HA
2 VEBRIN02.RAR
2 KALIND01.HA
2 UN_AU239.HA
2 CHERNA01.HA
2 KARPOV01.ZIP
2 SEROVM31.RAR
2 M_RIDER.HA
2 IVANOW01.HA
2 DEVIL.HA
2 MANDER01.HA
2 MARKIN02.HA
2 TSAREV01.HA
2 SAVCHV01.HA
2 TARAKAN.HA
2 FROLOV01.HA
2 SEDOVB01.RAR
2 EGOROV01.HA
2 MARKIN03.HA
2 NORMIL01.RAR
2 BULYCH53.HA
2 IVANOG01.HA
2 SEVOST07.HA
2 EJUBOL02.HA
2 STEPAS01.HA
2 KALINA01.HA
2 ZHAZHA01.RAR
2 NORMIL02.RAR
2 PASKOV01.HA
2 IVANON07.RAR
2 IVANYR02.HA
2 TOVI_D01.RAR
2 ABRAMO01.HA
2 KINGS174.RAR
2 CP-05C96.HA
2 TIMOFA01.HA

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-06 02:01 (ссылка)
ок. только правлю базу не я - там начальник есть. Он трудноподъемный, сколько времени займет повигнуть его на этот подвиг даже и не знаю...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rusec@lj
2007-08-06 02:08 (ссылка)
а я, собственно, и не тороплюсь. Мне не мешает. Как поправите - перезалью, пока пусть будет как есть.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2007-08-06 03:15 (ссылка)
посмотрел свою переписку со Славой - дубли я ему отправлял еще в феврале. Все те же. На работу через базу это не влияет - там путь разный у файлов, поэтому наверное он ничего и не делает. Судя по всему, эти дубли тянутся еще со старых времн - только 3 файла после 2003г, все остальные - более ранние.

Нет, нельзя бросать - в конце концов все новинки ложатся правильно.

С дублями предлагаю поступить так.Забить список дублей в отдельный список и если эти файлы будут переноситься, то игнорировать их. Думаю, что реально этого не будет, т.к. Слава сначала проверяет обновление у себя и у него вылезет грабля. Он просто поменяет имя файла и все. В конце концов, ни одного нового дубля после 2005г. не появилось.

А вот неправильные строки в базе - там где 100 и 40 раз встречается один файл с тем же путем - это поправит наверняка - просто на это место забъет новые книжки в очередном обновлении.

Вот список реальных дублей файлов.
UN_AU243.HA
ALLSTA01.RAR
MELIKH01.HA
KORKI.HA
GORDON01.HA
MELIKH02.HA
IVASCH01.HA
GROMOD01.HA
TSVETK01.HA
MISHIN01.HA
TARASO01.HA
NIKOLA01.HA
MELIKH03.HA
ABRAMA01.HA
LUKIN.JPG
UN_AU432.RAR
MELNIK01.HA
MARKIN01.HA
SARASS01.HA
KALIND01.HA
UN_AU239.HA
CHERNA01.HA
KARPOV01.ZIP
SEROVM31.RAR
M_RIDER.HA
IVANOW01.HA
DEVIL.HA
MANDER01.HA
MARKIN02.HA
TSAREV01.HA
SAVCHV01.HA
TARAKAN.HA
FROLOV01.HA
EGOROV01.HA
MARKIN03.HA
STEPAS01.HA
KALINA01.HA
ZHAZHA01.RAR
PASKOV01.HA
ABRAMO01.HA
TIMOFA01.HA

(Ответить) (Уровень выше)


(Анонимно)
2007-08-06 12:45 (ссылка)
===========встречается 104 раза
оказывается, это не ошибка, а эксперимент. Реально лежит один файл, который является сборником рассказом, а названий в базе столько, сколько там вовнутри рассказов. Во как:) По словам Славы - было давно и больше так не делает.

Ну а там, где файл не один - таки да, ошибки. Ну дык есть список - сделать его обработку, чтоб от Славы не зависеть. А то мы его не дождемся. Да и вообще - пусть лучше обновления клепает:)

(Ответить) (Уровень выше) (Ветвь дискуссии)

movefil
[info]rusec@lj
2007-08-07 04:28 (ссылка)
Понял.
Прочесал MOVEFIL из обновлений 115-150.
Не нашел у себя большинства указанных там файлов.
Что-то меня глючит.
В базе они есть, а ни во влитом, ни в обновлениях найти не могу.
Глянь, пожалуйтся, что я упустил.
Список - http://book.lib.rus.ec/move.lst, там, где единички - файл не найден.
кроме того, в обновлениях обнаружились файлы, которых нет на ftp.
Немного:
andmoe01.rar:NF.104\ANDRMEST
plotni02.ha:KULINAR.605\PLOTNIKO.Z_
simmon18.rar:NF.104\SIMMONS
heriap03.rar:LOVE.109\HERIA
efrshn01.rar:RADIO.602\EFRSHN
sangiv01.rar:DIAFILM.904\SANGI.V_
pohlev17.rar:KULINAR.605\POHLEBKI.V_
ebersg11.rar:HUD-LIT.108\YEBERS.GEO
в базе они опять же есть.
Залей их, если сможешь, или скажи где взять.

Вообще, в базе - 71688 файлов, в наличии - 7800 в двух исо и еще 30000 россыпью, чуть больше половины. Что-то здесь не так. Какие-то обновления не докачаны, видимо.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: movefil
(Анонимно)
2007-08-07 05:59 (ссылка)
==========Не нашел у себя большинства указанных там файлов.
это неправильно. у меня все есть. значит еще где-то надо искать.
==========кроме того, в обновлениях обнаружились файлы, которых нет на ftp.
я остатки докачиваю с bym.comex.ru. Это самый полный сервер. Все оттуда качать нельзя, а только что на других нету. Кроме того, у меня тоже не нашлось 2 файлов с последнего обновления. Значит позже приедут. Почему я и писал про 2 недели.
F:\BOOK\BOEVIK.102\BELOV.ALX\BELOVA07.RAR
F:\BOOK\HUD-LIT.108\YEBERS.GEO\EBERSG11.RAR
===========Что-то здесь не так.
однозначно не так. Потому как реально книжек 70К, а файлов - около 90К. Это потому, что в файловом архиве для каждого каталога предусмотрен служебный файл - files.bbs. Их там столько, сколько авторов с больше чем одной книжкой+общие - по 1-3 для каждого раздела либы. Вот как раз 15К каталогов и наберется.

==========в наличии - 7800 в двух исо
по-моему, причина здесь. Во-первых, их должно быть 3 штуки - 2 dvd и один cd. На этих дисках порядка 55К книжек. Это начало либы, когда еще не было фэхи бук-доп и ходили в основном чистые тексты. Там мало объемных файлов. А книг - много. Соответственно, файлов там должно быть порядка 60-65К. Может, там есть вложенность?


И еще я подумал, что для юзеров надо написать инструкцию что делать с новыми обновлениями, т.к. их в той базе, что в проге со 114 обновления, нет. Эти файлы юзеру нельзя просто взять и сверху долить к имеющейся структуре, а надо прогнать через прогу для каждого обновления. А для этого надо чтобы все файлы обновления лежали в одном каталоге.

Насколько я понимаю, для этого надо будет распаковать файл обновления с потерей структуры каталогов. Так можно?

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: movefil
[info]rusec@lj
2007-08-07 07:54 (ссылка)
да, похоже моя выковыривалка из исо плоховато выковыривает. Буду разбираться.

(Ответить) (Уровень выше)