Вы здесьУдаление дублей из архивов по 1000 книг.
Опубликовано вт, 20/01/2009 - 15:27 пользователем Bullfear
Есть такая программа myhomelib. Для работы использует архивы либрусека. В этих архивах примерно 20% дублей. В связи с этим возникает вполне закономерное желание эти дубли убрать. pkn написал для этой цели скрипт. Скрипт перловый.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
Larisa_F RE:Собираем серию: "Мастер серия", издательство "Лимбус". 16 часов
Larisa_F RE:Серия книг «Судьбы книг» издательства «Книга» 16 часов Larisa_F RE:За иллюминатором (серия) - чего не хватает? 18 часов Larisa_F RE:Книжная серия «Сlio» издательства "Евразия" 18 часов Rebellioner RE:Подайте бедному копеечку на книжку с литреса... 1 день sem14 RE:Серия "Что есть что" издательства "Слово"(чего не хватает) 3 дня larin RE:Пропал абонемент 1 неделя tvv RE:DNS 1 неделя MrMansur RE:<НРЗБ> 1 неделя Stager RE:Беженцы с Флибусты 2 недели Tramell RE:Серия "Библиотека французской литературы" (Макбел) 2 недели sem14 RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 2 недели sem14 RE:Современная корейская литература. Книжная серия... 2 недели sem14 RE:Серия "Символы времени" издательства "Аграф" 3 недели sem14 RE:Собираем серию: "Азбука-триллер", издательство "Азбука-Терра" 3 недели sem14 RE:«Юмористическая серия» 3 недели larin RE:Оплатил. Абонемент не отображается 3 недели larin RE:Оплатил, но абонемент не отображается 1 месяц Впечатления о книгах
mysevra про Китаева: Вдова колдуна (Фэнтези)
12 01 Какая милая история! Вывод: открой пошире глаза – десять лет могла быть счастлива, а она превозмогала. Оценка: хорошо
mysevra про Гравицкий: В зоне тумана (Боевая фантастика)
12 01 Я не для того читаю про Зону, чтобы окунуться в «тонкий» психологизм и душевную драму, этого в жизни хватает. Мне действие подавай и загадки, побольше загадок. Так что книга не зашла. Оценка: неплохо
mysevra про Сорокин: Смерть со школьной скамьи (Полицейский детектив)
12 01 Хотелось бы чего-то кроме описания личной жизни главного героя и особенностей социалистического строя. Где собственно заявленный «детектив»? Мало, мало. Оценка: неплохо
Paul von Sokolovski про Алмазный: Казачонок 1860. Том 1 (Альтернативная история, Исторические приключения, Попаданцы, Самиздат, сетевая литература)
11 01 Пока не впечатляет, это даже не вторично, а четвертично ( простите за термин:) надеюсь, автор распишется и сюжет и герои оживут. Будем ждать... Оценка: неплохо
Paul von Sokolovski про Алексеев: Время «Ч» [litres] (Боевая фантастика, Попаданцы)
11 01 Ну, вот и окончание эпопеи. Ещё один вариант русского царства, готового к переходу в империалистический период развития. Вполне читательно и развлекательно, всё в пределах канона. Автору спасибо, а он пусть благодарит читателей ……… Оценка: хорошо
Barbud про Старицын: Балаклава Красная (Альтернативная история, Социальная фантастика, Попаданцы, Самиздат, сетевая литература)
11 01 Дерьмовенько, как и все прочее у этого автора. Герои скучны, безэмоциональны и безмысленны, как какие-то юниты в компьютерной игре. Клик мышкой - на суше врага разбили, еще клик - на море эскадру потопили, новый клик - заводы ……… Оценка: плохо
Barbud про Алмазный: Казачонок 1860. Том 1 (Альтернативная история, Исторические приключения, Попаданцы, Самиздат, сетевая литература)
11 01 Скучно, вторично. Сюжет этого писева очень напоминает опусы еще одного воспевателя казачества, почти калька, но написано намного хуже, хотя, казалось бы, хуже уже некуда. Однако же вот... Оценка: плохо
lorealke про Arladaar: Калгари 88 (Самиздат, сетевая литература)
11 01 Читать, ЕСЛИ: Вам нравятся спортивные драмы, технические детали тренировок и жанр попаданцев. Выкинуть в мусорку, ЕСЛИ: Вас тошнит от бесконечных описаний того, как фигуристка выполнила «прыжок в три с половиной оборота ……… Оценка: хорошо
obivatel про Вперёд в прошлое
10 01 2 Barbud, и у вас, и у автора наблюдается непонимание прописных истин управления 1. У любой проблемы ВСЕГДА есть как минимум одно очевидное недорогое легкореализуемое НЕВЕРНОЕ решение 2. Никто не правит в одиночку. 3. ………
obivatel про Возвращение Безумного Бога
10 01 То ли ИИ писал по мотивам корейских манг (типа, Она открыл книга и дёрнул за обложка) , то ли одно из двух. Множественные нарушения логики, противоречия описаний и событий, несоответствия хронологии событий -- всё это режет ………
Никос Костакис про Махров: Спасибо деду за Победу! Это и моя война [litres] (Боевая фантастика, Попаданцы)
09 01 Рубашка броская – косоворотка белого цвета в национальном стиле, с вышитым воротником и этим… как его? – не помню, вокруг застежек, короче". ______________________________ Дело происходит возле украинского "бандеравского" села. Косоворотка, как украинская одежда??? Ну-ну...
M_osk про Спинрад: Русская весна (Научная фантастика)
08 01 очерк = Виталий Бабенко. Пятое время года добавлен, а также отсутствующие иллюстрации Оценка: отлично! |
Комментарии
Отв: kop-librusec-dedead - очень новая версия.
Странно... параметры ОК, вроде должно было нормально сработать... правда, не видно нормально ли загрузились SQL-таблицы... нельзя ли полностью вывод скрипта увидеть?
Убедил. Как руки дойдут - сделаю.
Отв: kop-librusec-dedead - очень новая версия.
Изволь. Распаковка таблиц заняла чуть больше 20 минут. Дальше уже пошло убиение невиновных файлов, посему скрипт был безжалостно остановлен :) И так уже половину придется перекачивать.

Кстати по поводу sql... А работать по спискам myhomelib скрипт разучился? Если да, то жаль - было намного быстрее.
Отв: kop-librusec-dedead - очень новая версия.
Распаковка - это секунды, там парсинг длинный. Но это от компупера зависит, у меня это три минуты занимает :). Но учту, спасибо, если будет возможность - попробую эту часть ускорить.
Ну извини... я честно предупреждал: "НЕ пользуйтесь этой опцией, если не уверены." ;)
Не, это вряд ли получится. Я много пользуюсь частями именно этого скрипта, с SQL-таблицами, и поддерживать два формата - эт я не потяну.
Теперь по сути: похоже, там баг в скрипте. При единственном фильтре "по языку ru" он нашел всего 5409 желаемых (wanted) книг из 123760. Не может быть чтобы в таблицах было всего 5 тысяч книг на русском. И у меня такой же примерно результат, даже ещё меньше, так что это не разница в Перле или в SQL-таблицах, а баг в скрипте. Буду искать, как только дойдут руки. Постараюсь не затягивать, но прямо сейчас - не могу.
Отв: Удаление дублей из архивов по 1000 книг.
Ну дык на настольном и у меня будет около 3-х минут. Ты на ноуте пораспаковывай :Р
Тоесть косяк в единственном фильтре или именно в фильтре по языку?
*обиженным голосом* Но ты не добавлял "... что в скрипте нет бага" :Р
Ясно, спасибо. Бум ждать, благо сейчас либрусек работает и это не так критично ;)
Отв: Удаление дублей из архивов по 1000 книг.
Баг в скрипте есть всегда. Это аксиома.
kop-librusec-dedead - 0.4.3
kop-librusec-dedead верисия 0.4.3 - прицеплена к посту.
Изменения:
1. Пофиксен злобный баг. Предыдущими версиями не пользоваться, они глюкавые на всю голову!
2. Добавлена опция -testrun : Делать всё как настоящее, но не писать/стирать никаких zip-архивных файлов.
3. Добавлена возможность перезаписывать поверх исходных файлов. Для этого надо чтобы -do (dirout, выходной директорий) показывал туда же где лежат исходные зипы (dirzip), и присутствовала опция -removeoriginals.
Отв: kop-librusec-dedead - 0.4.3
Спасибо, щас потестим :)
Отв: kop-librusec-dedead - 0.4.3
Меня терзают смутные сомнения... На первый взгляд все нормально, однако почти в каждом архиве скрипт находит примерно 250-300 дублей. Так и должно быть? Архивы уже были обработаны старой (безглючной) версией скрипта.
Wanted total 96695
Books total 123760
to be squeezed 27065
Или он просто повторно обьединичивает единички? Тогда все в порядке.
Из замеченного: быстрее стали грузится таблицы, это гуд :)
А вот еще что.
WARNING: Bad member name: "Ketrin_A_List_Etika_bl**stva.fb2" zipf="16988-117987"
C этими файлами можно что-то сделать?
Отв: kop-librusec-dedead - 0.4.3
Повторно объединичивает.
Это тебе показалось :) там ничего не делалось.
АХЕЗ. Звёздочки в имени разрушают перловые regexp-ы. Я пока не могу научиться как бы их правильно сравнивать.
Отв: kop-librusec-dedead - 0.4.3
Странно. Тем не менее факт. Тогда одно из трех:
- Я сонный, поэтому думаю медленнее :)
- Они эээ... Закешировались виндой, ибо ноут уже недели две не перезагружался.
- Что третье? Говорю же - сонный я :Р
Отв: kop-librusec-dedead - 0.4.3
Можно экранировать переменную - /^\Q$membername\E$/
А можно использовать строковое сравнение вместо regexp (должно быть быстрее) - grep {$_ eq $membername} @FN_G;
Отв: kop-librusec-dedead - 0.4.3
Спасибо! Перловковар из меня тот ещё...
Страницы