Вы здесьУдаление дублей из архивов по 1000 книг.
Опубликовано вт, 20/01/2009 - 15:27 пользователем Bullfear
Есть такая программа myhomelib. Для работы использует архивы либрусека. В этих архивах примерно 20% дублей. В связи с этим возникает вполне закономерное желание эти дубли убрать. pkn написал для этой цели скрипт. Скрипт перловый.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
Океана RE:Подайте бедному копеечку на книжку с литреса... 21 час
sem14 RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 1 день Isais RE:Семейственность в литературе 3 дня Violontan RE:Жан Батист Мольер воскрешенный 5 дней Dead_Space RE:DNS 5 дней sem14 RE:Гонкуровская премия 1 неделя Dead_Space RE:Беженцы с Флибусты 1 неделя Саша из Киева RE:Приключения белочки Рыжки 3 недели alex-from RE:Оплатил два раза, но абонемента нет 3 недели Kiesza RE:На 78-м году жизни скончался советский и российский... 3 недели Paul von Sokolovski RE:Бушков умер. 1 месяц lemma7 RE:Серия «Интеллектуальный детектив» изд-ва АСТ 1 месяц mig2009 RE:Багрепорт - 2 1 месяц Isais RE:Издательство "Медуза" 1 месяц babajga RE:Народные сказки - Сказки народов Сибири = Fairy-Tales of... 1 месяц Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 1 месяц sibkron RE:Серия "Библиотека французской литературы" (Макбел) 1 месяц Isais RE:Игорь Северянин - Том 2. Поэзоантракт 2 месяца Впечатления о книгах
Lan2292 про Иевлев: Карандаш и уголь [СИ] (Боевая фантастика, Киберпанк, Самиздат, сетевая литература)
30 11 Это было интересно, очень интересно. Оценка: отлично!
decim про Ибаньез: Затерянная библиотека (Приключения: прочее)
30 11 Вторая часть серии "О чём молчит река". Дамское с приключениями. Без оценки.
dolle про Сугралинов: Город титанов (Боевая фантастика, Постапокалипсис, ЛитРПГ, Самиздат, сетевая литература)
30 11 Сюжет раскручивается, герой не имба и не превозмогает как у большинства авторов. Хорошая литРПГ в антураже тропического зомби-апокалипсиса.
mysevra про Обухова: Тихие шаги (Детективная фантастика, Мистика, Самиздат, сетевая литература)
29 11 Да какой там детектив или мистика, это тотальная и всепоглощающая драма с претензией. К тому же, дурно изложенная. Оценка: плохо
mysevra про Титов: Тёмный исток [СИ] (Боевая фантастика, Детективная фантастика, Самиздат, сетевая литература)
29 11 Двойственное впечатление. Частные детективы, космос, способности гл.героя, задумка, сюжет – всё замечательно. Казалось бы, чего ещё желать. И в то же время персонаж настолько раздражает своим неуместным кокетством, инфантильностью ……… Оценка: неплохо
mysevra про Бурлан: Симорон. Паштет из дирижаблей и флейт. Десять лакомых кусочков (Самосовершенствование)
29 11 Самое удивительное, что, если поднапрячься и продраться сквозь шутки-прибаутки, эта штука действует. Но смысл-то как раз в том, чтобы не напрягаться. В общем, каждому своё, а мне не подошло. Оценка: неплохо
udrees про Психология: Дыши. Как стать смелее (Психология, Подростковая литература, Детская психология)
29 11 Проходная психологическая книженция. Написана отрывисто, крупными мазками, одни советы отделены от других большими пробелами. К каждой странице прилагается какой-то рисунок размером со страницу. Текст написан редко, с разрывами ……… Оценка: неплохо
udrees про Верхотуров: Ядерная война. Все сценарии конца света (Публицистика, Военная документалистика)
29 11 Неплохая книга с обобщением материалов по поводу ядерного оружия и ядерной войны. Сначала немного истории с разработкой и сбросом бомб на Японию. Потом последствия взрывов на людей и государства. Потом про сценарии войны у ……… Оценка: хорошо
udrees про Морале: Я приду за тобой! (Юмористическая фантастика, Эротика, Самиздат, сетевая литература)
29 11 Книга написанная озабоченным школьником, или бывшим школьником. Практически никаких художественных описаний, кроме тел девушек, секса и разговоров. С первых страниц главный персонаж - суккуба – уже начинает действовать, убивать ……… Оценка: плохо
udrees про Морале: Крысиный бег I [СИ] (Эротика, Городское фэнтези, Попаданцы, Самиздат, сетевая литература)
29 11 Эротический опус, опять приключения школоты, написанное школьником и для школьников. Еще и запихали сцены секса пасынка со своей мачехой, потом сводной сестрой, потом матерью подруги и многое другое. У автора одинаковые шаблонные ………
Дей про Возвращение Великого
27 11 Исключительно мусорная книжка. Ни сюжета, ни грамотности, сборник ляпов.
alexk про Владимиров: Охотник на демонов 2 (Боевик, Приключения: прочее, Самиздат, сетевая литература)
26 11 Далеко не первый такой файл вижу, но всё понять не могу, как можно было так исходник испохабить? Или это руками лишних пробелов после тэгов добавили? |
Комментарии
Отв: 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
Спасибо! Перловковар из меня тот ещё...
Страницы