kaiser09 Насчет "новые архивы с книгами отличными от Либрусековских с bookid, начиная с 1000001"
Если Либрусек за 4 года вырос до 260 тыс, первый миллион будет в 2022-3гг. Если работа с агрегацией - длительный задел, лучше книги Флибусты начать с bookid 2 000 001.
Флибуста выросла на 49тыс. за 15-16 мес. в 2023 г. при тех же темпах достигнет полумиллиона, из них часть клонов Либрусека. Добавку из сборки Траума можно делать с bookid 3 000 001, следующую библиотеку (те же журналы) - с 4млн.
Конечно, если ЛибРусЛиб поддерживает такие числа. В перспективе Либрусек и ближайшую агрегацию лучше разнести еще больше. С другой стороны, за 12 лет могут исчезнуть все три библиотеки. Или появится лучший способ для агрегации.
С добавкой на Флибусту болгарских книг возникли ненужные дубли авторов. Русское и болгарское написание фамилий. Нужно правило, как поступать: сводить к одному виду написания, или оставлять, как есть.
Ввиду сложности работ с БД Либрусека, может стоит создать возможность он-лайн редактирования ошибок и пропусков в них? Общими усилиями заполнить лакуны, если библиотекари Либрусека не делают подобной работы.
Выгода всем. Как вариант - делать это на самом Либрусеке.
Выкачав архивы до id 112431 раздачи от 6 февраля, занялся экспортированием fb2. Обнаружил пропуски 82449-89067 и другие поменьше. Их нет и в оф. раздачах. Что это за книги такие, которые никуда не попадают. Они хоть где-то есть?
Или была безвозвратная потеря и в БД, и в репозитории? Где-то читал, что в Либрусек была закачана порнобиблиотека на 4000 книг. Ее удалили. Но ведь здесь лакуна на 6,5 тыс.! Всего из диапазона 1-91000 присутствуют около 78 тыс. книг. Где остальное?
Если в агрегации их не будет, напишите причину. Речь идет исключительно о формате fb2, другие форматы идут после id 91400.
В процессе экспорта не найдены следующие id (209 шт.):
6482,37145,68252,68277,69109,75560,76435,77868,80956,91113,
93666,93672,93708,93725,93749,93906,93942,93943,93977,93982,
93987,94247,94316,94373,94534,94535,94557,94558,94594,94595,
94657,94914,94716,94755,94756,94757,94758,94781,94782,94783,
94784,94830,94831,94835,94934,94958,95060,95071,95104,95107,
95108,95109,95110,95155,95473,95483,95494,95507,95511,95515,
95523,95524,95610,95612,95613,95614,95625,95626,95628,95634,
95731,95747,95749,95756,95757,95758,95860,95861,95862,95869,
95882,95885,95889,95890,95891,95892,95893,95894,95895,95908,
95909,95922,96065,96370,96378,96383,96384,96385,96386,96387,
96388,96393,96394,96395,96449,96450,96455,96467,96468,96469,
96470,96471,96472,96473,96474,96475,96476,96499,96502,96555,
96568,96569,97335,97338,97540,97584,97586,97587,97588,97839,
97845,98127,98131,98307,98308,98310,98311,98312,98313,98314,
98315,98316,98317,98318,98319,98320,98321,98324,98327,98329,
98333,98337,99052,99054,99058,99060,99131,99134,99135,99136,
99137,99138,99139,99140,99141,99142,99143,99144,99145,99146,
99147,99148,99149,99150,99151,99154,99155,99156,99161,99185,
99193,99194,99197,99203,99274,99338,99339,99340,99341,99377,
99378,99394,99641,99643,99644,99646,99655,99661,99662,99663,
99664,99666,99671,99672,99673,99675,99952,99953,99955.
после 100 тыс. ненайдены (160 шт.):
100165,100166,100289,100290,100291,100292,100293,100294,100295,100296,
100297,100306,100307,100315,100933,101259,101261,101269,101279,101325,
101328,101332,101366,101394,101395,101397,101413,101464,101468,101521,
101544,101549,101563,101600,101959,101983,102041,102092,102103,102104,
102105,102107,102149,102150,102160,102161,102187,102191,102208,102216,
102246,102248,102249,102252,102257,102262,102270,102273,102274,102277,
102278,102280,102352,102353,102354,102359,102365,102366,102367,102368,
102370,102371,102474,102475,102476,102477,102479,102480,102482,102667,
102669,102670,102688,102689,102690,102693,102697,102700,102762,102767,
102800,102896,102897,102898,102899,102900,102912,102915,102957,102958,
102959,102961,102962,102963,103013,103014,103016,103017,103042,103043,
103051,103052,103053,103055,103056,103120,103121,103122,103163,103164,
103167,103214,103215,103216,103236,103262,103263,103278,103475,103476,
103483,103484,103509,103527,103528,103535,103576,103577,103578,103579,
103581,103705,103706,103711,103758,103759,103761,103762,103765,103766,
103803,103807,103808,103816,103837,103944,103945,103946,103947,103948.
Проверил весь диапазон fb2 с 1 до 103999.
Были большие надежды, что агрегация избавит от Либрусековских пропусков и улучшенек. Если же за ее основу будет взята эта раздача, в которой уже недостает 44 тыс. книг, что дальше? Вместо объединения трех крупнейших библиотек в одной базе получим вечную бету.
kaiser09, если это не противоречит Вашим обязанностям и принципам, сделайте раздачу полного Либрусека. Не самого полного, из имеющихся, как сейчас, а 100% полного. Пусть без БД, ее потом поправим, но на действительно полную раздачу можно будет ориентироваться другим.
Если сложно с usr, хотя бы fb2 часть. Если это идет вразрез с договоренностями с Ларином, сделайте общую с Флибустой часть или как-то иначе, выкладывая правленный архив черех полгода после выхода оф. раздачи, лишь бы полную.
Так как библиотеки идут на нескольких языках, выгоднее и проще вместо названий, с ошибками, апострофами, буквами вида "ё", нижними подчеркиваниями использовать id, как в оф. раздачах. Не устраивает сортировка внутри архива - поставить впереди нолики. Сменить 1 на 00001 и т.д.
Это пригодится и при работе с MHL. При добавке пропущенного или замене битого файла, из-за буквенных названий все скачет, inp не попадают на свою книгу. В случае цифровых обозначений, сортируем по возрастанию, и правим в inp только измененные/добавленные строчки.
У Траума нет id? Сделать сравнение по автору и названию в БД. Или по CRC32 или MD5. Все равно нынешний вариант создает кучу неудобств именно для тех, кто работает с библиотекой. Читателям все равно, как там что в архиве. Если нужно, библиотекарем все экспортируется с нужной маской.
Плюс теперешних названий в том, что Вы качаете с Либрусека без переименования (предположительно). Но создавая агрегацию придется сравнивать не по названию. И судя по тому, что в первых 100 тыс. fb2 побайтовое сравнение с оф. раздачей совпадает примерно у 40 тыс. книг, вариант с названиями или побайтовым сравнением не пройдет.
Разве что на первом этапе отсеивания клонов. Зачем создавать ненужные препятствия? Работа над агрегацией идет больше 9 месяцев (по Вашим сообщениям в раздачах), постоянно усложняя задачу.
В теории все просто: вытянуть все небитые книги Либрусека, добавить в соседнюю папку книги Флибусты, отсеять программами клоны, собрать все в архивы, почистить БД. Раздача. Дальше работа с обновлениями БД по старым и добавкой новых архивов.
На практике дыры Либрусека, дыры дампов Либрусека, смены формата оф. раздач и т.д. затягивают работу.
Не подумайте, что я требую. Я жду. Выкачать все с Либрусека у меня нет возможностей, держать оф. раздачу и эту - не хватает места. Агрегация решает все проблемы. Сделать ее сам не могу, некуда разархивировать книги. Нет каталогизатора. Да и решив эти проблемы, у меня нет и не предвидится интернета.
Торрент стоит у знакомых, скачать могу, раздавать нет. Поэтому жду Ваш вариант. Но в таком виде, она получается немногим лучше отдельно Либрусека и Флибусты. На 18334 fb2 книги больше до id 100000. Не хватает еще около 13 тыс, ориентируясь по id. Работа проведена Вами колоссальная, но почему не все книги?
В usr еще не смотрел, но по прошлой раздаче у Вас было больше книг, чем в оф.
Если я понимаю правильно, залитой книге на Либрусек дается id. Не знаю, что происходит, когда книга битая или недозалитая. id остается даже за такой, или дается целой (валидной). Если же id присваивается до начала заливки, а не после окончания, будет много "мусорных" id, соответствующих недозалитым книгам. Но библиотекари или администраторы ловят "мусор", или нет?
P.S. Отпишитесь по поводу лакун в архивах. Причины, планы, прогнозы.