Вы здесьУдаление дублей из архивов по 1000 книг.
Опубликовано вт, 20/01/2009 - 15:27 пользователем Bullfear
Есть такая программа myhomelib. Для работы использует архивы либрусека. В этих архивах примерно 20% дублей. В связи с этим возникает вполне закономерное желание эти дубли убрать. pkn написал для этой цели скрипт. Скрипт перловый.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
sibkron RE:Серия "Библиотека французской литературы" (Макбел) 1 день
Aleks_Sim RE:Подайте бедному копеечку на книжку с литреса... 1 день Nicout RE:Прошу переформатировать, распознать, etc... 2 недели akorish RE:Регистрация 3 недели Tramell RE:Серия "Очень прикольная книга", издательство Азбука-классика 4 недели Larisa_F RE:Серия "Я познаю мир" издательства "АСТ, Астрель, Олимп",... 4 недели konst1 RE:Ух, как я не люблю спамеров! 1 месяц tvv RE:DNS 1 месяц sem14 RE:«Не забыть бы тогда, не простить бы и не потерять!»-2 ... 1 месяц larin RE:Заблокирован 1 месяц konst1 RE:Серия «Интеллектуальный детектив» изд-ва АСТ 2 месяца Larisa_F RE:Серия книг «Судьбы книг» издательства «Книга» 2 месяца fixel RE:Пропал абонемент 2 месяца sem14 RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 3 месяца sibkron RE:"100 славянских романов", серия изд.-ва "Центр книги... 3 месяца Larisa_F RE:Серия "Новые сказочные повести" издательство "Самовар" ... 4 месяца sem14 RE:Серия "Символы времени" издательства "Аграф" 4 месяца tvv RE:faq brainstorm =) 4 месяца Впечатления о книгах
decim про Жегалин: Бражники и блудницы. Как жили, любили и умирали поэты Серебряного века (История, Биографии и Мемуары, Литературоведение)
30 05 Стиль изложения точь-в-точь как в "1913. Лето целого века" Флориана Иллиеса. Содержание схоже до смешения. Озоровали наши творцы не меньше западноевропейских и ровно в том же духе.
HORiSi про и сказания: Упанишады. 7 священных текстов древней Индии. Перевод Бориса Гребенщикова (Древневосточная литература, Мифы. Легенды. Эпос, Старинная литература: прочее)
30 05 Красивый и понятный перевод от простого человека Оценка: отлично!
Старший про Бармин: Бестия [AT] (Боевая фантастика, Героическая фантастика, Фэнтези, Попаданцы, Самиздат, сетевая литература)
30 05 Лут, групповуха, групповуха лут. Оценка "плохо".
decim про Кассиль: Щепотка Луны (Советская классическая проза)
29 05 Ещё один памятник эпохи. Издание 1936г. Оценка: неплохо
decim про Шаумберг: Убийства по книге [Литрес] (Триллер, Детективы: прочее)
29 05 В стране розовых пони что ни маньяк, то знаток искусств. Увы, обычно это обиженные сильными, отыгрывающиеся на слабых, и всё, что могут пояснить - "а чо она, б*". (Сир убил и прятал жертву как простой гопарь, ничего изысканного) Перевод ……… Оценка: плохо
SeNS про Джангер: Идеальный шторм (Морские приключения, Документальная литература)
28 05 Хорошая книга, и отличный фильм, по ней поставленный. Рекомендую! Оценка: отлично!
Анни-Мари про Нельсон: Нетрадиционная медицина (Фэнтези, Самиздат, сетевая литература)
27 05 Можно сколько угодно твердить, что главный герой мужчина, но поверить в это все равно не получается.
Larisa_F про Ткаченко: Зимняя сказка и другие новогодние истории (Сказка)
27 05 http://lib.rus.ec/b/815953 - здесь все страницы
virtcatty про Горъ: Ухорез - 3 (Боевая фантастика, Фэнтези, Самиздат, сетевая литература)
27 05 Для tvv: Перейди на Флибу прямо сейчас, там есть и без картинок.
francuzik про Яманов: Питбуль и Митрофанушка [СИ] (Боевая фантастика, Фэнтези, Современная проза, Попаданцы, Самиздат, сетевая литература)
25 05 На удивление хорошая книга. Не ожидал даже. Оценка: хорошо
Barbud про Смолин: Дело №1979 (Альтернативная история, Детективы: прочее, Самиздат, сетевая литература)
24 05 Начал читать, через несколько минут закралось нехорошее подозрение, что этот стиль мне знаком, и называется он "нейросетевое творчество". Что-то сразу выдает - то ли короткие рубленые предложения, то ли повторы идентичных ………
Dead_Space про Гэддис: Распознавания (Классическая проза, Историческая проза)
24 05 Огромное спасибо, давно ждал, только вчера проверял на флибусте наличие, а её оказывается тут выложили. Оценка: отлично! |
Комментарии
Отв: 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
Спасибо! Перловковар из меня тот ещё...
Страницы