Вы здесьУдаление дублей из архивов по 1000 книг.
Опубликовано вт, 20/01/2009 - 15:27 пользователем Bullfear
Есть такая программа myhomelib. Для работы использует архивы либрусека. В этих архивах примерно 20% дублей. В связи с этим возникает вполне закономерное желание эти дубли убрать. pkn написал для этой цели скрипт. Скрипт перловый.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
aldan RE:Подайте бедному копеечку на книжку с литреса... 2 часа
Larisa_F RE:Современная корейская литература. Книжная серия... 1 день Larisa_F RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 1 день monochka RE:<НРЗБ> 2 дня sem14 RE:Серия "Символы времени" издательства "Аграф" 5 дней sem14 RE:Собираем серию: "Азбука-триллер", издательство "Азбука-Терра" 5 дней sem14 RE:«Юмористическая серия» 5 дней larin RE:Оплатил. Абонемент не отображается 1 неделя larin RE:Оплатил, но абонемент не отображается 1 неделя nehug@cheaphub.net RE:DNS 2 недели alexk RE:Багрепорт - 2 3 недели Isais RE:Семейственность в литературе 3 недели Violontan RE:Жан Батист Мольер воскрешенный 4 недели sem14 RE:Гонкуровская премия 1 месяц Dead_Space RE:Беженцы с Флибусты 1 месяц Саша из Киева RE:Приключения белочки Рыжки 1 месяц alex-from RE:Оплатил два раза, но абонемента нет 1 месяц Kiesza RE:На 78-м году жизни скончался советский и российский... 1 месяц Впечатления о книгах
Никос Костакис про Панфилов: Улан. Экстремал из будущего (Альтернативная история, Попаданцы)
24 12 ."Одел подштанники" _______________________ На кого?
Олег Макаров. про Карелин: Одиссей Фокс [СИ] (Детективная фантастика, Космическая фантастика, Приключения: прочее, Самиздат, сетевая литература)
24 12 За одно только "пребудет" без "и" в аннотации стоит попробовать почитать
Perca про Первухин: Товарищ маг (Альтернативная история, Приключения: прочее, Попаданцы, Самиздат, сетевая литература)
24 12 Не самый плохой писатель, но и он скатился в победобесие. Осталось только ждать веселые приключения мага на СВО.
tvv про Далин: Фарфор Ее Величества (Героическая фантастика, Фэнтези, Самиздат, сетевая литература)
23 12 Номера 4-6 в серии - это подсерия Костер и Саламандра.
Олег Макаров. про Тыналин: Инженер 1: паровая империя (Альтернативная история, Приключения: прочее, Попаданцы, Самиздат, сетевая литература)
22 12 Barbud спасибо, подтолкнули поинтересоваться. Вот что я нашёл: В 1856 году (в разгар Крымской войны и реформ Флоренс Найтингейл) медперсонал в больницах не носил белые халаты — это гораздо более поздняя традиция. ОДЕЖДА ………
Barbud про Тыналин: Инженер 1: паровая империя (Альтернативная история, Приключения: прочее, Попаданцы, Самиздат, сетевая литература)
22 12 1856 год... По госпиталю ходит медперсонал в белых халатах... ЧТО? Вспомнились строки пародиста Иванова, написанные по другому поводу, но вполне уместные: "Ты бы, дяденька, прежде чем что-то писать, Потрудился хотя бы об этом узнать". Оценка: нечитаемо
mysevra про Есаулкова: Удивительные истории о ведьмах [litres] (Ужасы, Современная проза)
22 12 По сути – очень интересно, но почему-то получилась лютая кустарщина. Одна надежда была на Бобылёву, но я утомилась ждать и не захотела дочитывать. Оценка: неплохо
mysevra про Государев: Треугольный человек (Психология)
22 12 «Научпоп» в лучшем смысле этого слова - мне как не специалисту было и понятно, и интересно. Оценка: отлично!
mysevra про Козлов: Философские сказки для обдумывающих житье, или Веселая книга о свободе и нравственности (Психология)
22 12 Пустая книга. Хорошо, когда человек высокого о себе мнения; плохо, когда за счёт умаления ценности других. Оценка: плохо
Barbud про Риддер: Парторг (Альтернативная история, Попаданцы, Самиздат, сетевая литература)
21 12 Офицеры, офицеры, офицеры чуть не на каждой странице... Автор хотя бы поинтересовался, когда это слово узаконили в РККА. Оценка: нечитаемо
tvv про Гор: Шаровая молния 3 (Попаданцы, Самиздат, сетевая литература)
21 12 Вероятно, здесь претензия только к букве Ё.
trampak про Кот: Основа русского мира [litres] (Исторические приключения, Публицистика)
21 12 Русские сначала называют что-то русским, чтобы потом это сделать своим. Я.Гашек Оценка: нечитаемо |
Комментарии
Отв: 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
Спасибо! Перловковар из меня тот ещё...
Страницы