Вы здесьУдаление дублей из архивов по 1000 книг.
Опубликовано вт, 20/01/2009 - 15:27 пользователем Bullfear
Есть такая программа myhomelib. Для работы использует архивы либрусека. В этих архивах примерно 20% дублей. В связи с этим возникает вполне закономерное желание эти дубли убрать. pkn написал для этой цели скрипт. Скрипт перловый.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
DGOBLEK RE:Подайте бедному копеечку на книжку с литреса... 14 часов
Isais RE:Семейственность в литературе 1 день Isais RE:Древний Рим. Подборка книг 1 день Саша из Киева RE:"Экс" и "нео": разноликие правые 3 дня medved RE:Предупреждение: "зеркала" флибусты 2 недели Isais RE:Соседи 2 недели babajga RE:Как сова отправилась в отпуск 3 недели Саша из Киева RE:Горящие паруса 3 недели Саша из Киева RE:Подвиг героев - судьба страны. МНР: люди и годы 1 месяц commodore RE:Письма 1 месяц Саша из Киева RE:Три минуты истории 1 месяц nehug@cheaphub.net RE:Как бы с этим побороться и побороть? 1 месяц Саша из Киева RE:Книги на латышском языке 1 месяц stevecepera RE:Список современных французских писателей? 2 месяца etorus2008 RE:Отв: Помогите найти книгу по описанию 2 месяца lemma7 RE:Чёрный нимб и другие истории, исполненные неизъяснимого ужаса 2 месяца Wedmak RE:Помогите найти!.. #2 2 месяца sem14 RE:Координация сканирования и вычитки 2 месяца Впечатления о книгах
Lena Stol про Видум: Договор (Фэнтези, Попаданцы, ЛитРПГ, Самиздат, сетевая литература)
15 07 Не понравилось - сюжет почти не двигается, герой занят прокачкой себя любимого. Надоело перечисление навыков, что за чем следует, что ещё надо прокачать и т.д. Оценка: плохо
Саша из Киева про Алексеев: О русской доблести и славе (Историческая проза, Детская проза, История, О войне)
14 07 Как жаль, что Сергей Петрович Алексеев не написал об Александре Невском!
StrelaVV про Зазеркалье [Шарапов]
14 07 Первая книга очень понравилась, читать было интересно и даже страшно, сразу вспомнилось детство, где ночью виделись призраки, бандиты и покойники
Isais про Нури: Дочь ведьмы [СИ : Литрес] (Ужасы)
13 07 Старательно. По правилам. Неубедительно. Читал с полуночи до двух ночи, так и не проникся. Чего-то недоложили в этот борщевой набор. Пластмассово как-то. Оценка: неплохо
nik_ol про Луганцева: Чисто убойное дело [litres] (Иронический детектив, Детективы: прочее)
13 07 А что, Татьяна больше не пишет книжки?... Жду не дождусь новых, люблю читать перед сном и в транспорте, для разгрузки мозга! Оценка: отлично!
Wild_XC70 про Дроздов: Невеста инопланетянина (Альтернативная история, Космическая фантастика, Самиздат, сетевая литература)
12 07 Дождался проды. Лучше бы её не было. Похоже Дроздов перегорел. Оценка: плохо
mysevra про Каверин: Два капитана [с непрозрачными иллюстрациями] (Советская классическая проза, Приключения: прочее)
12 07 Поймала себя на том, что завидую главному герою. «Если вы думаете, что приключения опасны, попробуйте рутину – это смертельно». Оценка: отлично!
mysevra про Свечин: Выстрел на Большой Морской [litres] (Полицейский детектив, Исторический детектив)
12 07 Автор прекрасно ориентируется в датах, чинах и наградах, перечисляя их в восхитительном упоении. Неожиданно отзывается о правящей на тот момент династии. Да и вообще, как приключенческий роман, книги этой серии просто превосходны. ……… Оценка: хорошо
mysevra про Чекмаев: Анафема (Боевая фантастика)
12 07 Как справочник по работе сект – прекрасно. Как художественный текст – депрессивно-занудственно с претензией. Оценка: неплохо
Саша из Киева про Толочко: Древний Киев (История)
12 07 Спасибо большое! Ещё бы издание этой книги 1976 года. У меня было именно оно.
Олег Макаров. про Оценщик
11 07 Серия "Оценщик" - вот прямо отлично. Всё. И идея, и сюжет, и герои, и стиль... Остаётся только ждать каждой новой "серии" и получать удовольствие
virtcatty про Усманов: Шутки богов. Поспешное решение (Боевая фантастика, Героическая фантастика)
11 07 А это точно Усманов написал? Его любимое "банально" только один раз попалось, примерно на 73% текста, да именно текста, так что без оценки. |
Комментарии
Отв: 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
Спасибо! Перловковар из меня тот ещё...
Страницы