Вы здесьУдаление дублей из архивов по 1000 книг.
Опубликовано вт, 20/01/2009 - 15:27 пользователем Bullfear
Есть такая программа myhomelib. Для работы использует архивы либрусека. В этих архивах примерно 20% дублей. В связи с этим возникает вполне закономерное желание эти дубли убрать. pkn написал для этой цели скрипт. Скрипт перловый.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
sem14 RE:Серия "Символы времени" издательства "Аграф" 1 день
Larisa_F RE:Серия книг «Судьбы книг» издательства «Книга» 3 дня нэнси RE:Подайте бедному копеечку на книжку с литреса... 4 дня tvv RE:faq brainstorm =) 6 дней Larisa_F RE:Серия "Что есть что" издательства "Слово"(чего не хватает) 1 неделя Larisa_F RE:Серия "Очень прикольная книга", издательство Азбука-классика 1 неделя larin RE:абонемент не обновлен 1 неделя sem14 RE:За иллюминатором (серия) - чего не хватает? 2 недели sem14 RE:Собираем серию: "Мастер серия", издательство "Лимбус". 2 недели Larisa_F RE:Книжная серия «Сlio» издательства "Евразия" 2 недели larin RE:Пропал абонемент 3 недели tvv RE:DNS 3 недели MrMansur RE:<НРЗБ> 4 недели Stager RE:Беженцы с Флибусты 1 месяц Tramell RE:Серия "Библиотека французской литературы" (Макбел) 1 месяц sem14 RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 1 месяц sem14 RE:Современная корейская литература. Книжная серия... 1 месяц sem14 RE:Собираем серию: "Азбука-триллер", издательство "Азбука-Терра" 1 месяц Впечатления о книгах
Oleg68 про Хайнлайн: Туннель в небе [Tunnel In The Sky ru] (Научная фантастика)
27 01 Мне понравилось. Не понял отзыв об американских детишках. Американский автор должен писать о советских детишках? Так для этого есть Головачев и другие.
Stager про Оченков: Гроза над Бомарзундом [СИ] (Альтернативная история, Попаданцы, Самиздат, сетевая литература)
26 01 Первую я с трудом осилил. Автор, конечно, ни в чём не разбирается, но исторический наброс любопытен. А дальше... Автор совсем ни в чём не разбирается... Ну да, сталей у него не было, но было естественно-легированное шведское ……… Оценка: плохо
mysevra про Сейгер: Дом на краю темноты [litres] [Home Before Dark] (Триллер, Детективы: прочее)
26 01 Неоправданно затянуто и невыразительно. Разочарование было бы меньше, если бы книга не упоминалась во всех попадающихся мне списках «самых страшных историй». Оценка: неплохо
mysevra про Гроут: Сила благодарности [litres] (Психология, Самосовершенствование, Психотерапия и консультирование)
26 01 Большинство из нас даже не заметили, как превратились из «ух ты!» в вечно недовольных и сердито бубнящих големов. Оценка: отлично!
mysevra про Леушкин: Турбо-Суслик. Как прекратить трахать себе мозг и начать жить (Психология)
26 01 Мне очень нравится то, что обещают в результате. Но меня беспокоит формулировка. То есть, если это работает, то я буду добровольно грузить в своё подсознание абсолютно непроверенную чужую установку, даже не зная её сути. У ……… Оценка: неплохо
alexk про Грин: Метод Грина. Твоя жизнь — твой сценарий (Экономика)
25 01 серийный предприниматель"? Чикатилла от бизнеса?
polyn про Вендиг: Книга несчастных случаев [litres] (Ужасы, Триллер, Мистика)
25 01 Эта книга стала не открытием, а разочарованием. Слишком затянуто, слишком сумбурно, слишком заумно. Оценка: неплохо
polyn про Валентайн: Принц из книжного [litres] (Современные любовные романы)
25 01 Поклонникам молодёжной романтики, думаю, книга понравится. Оценка: хорошо
vudy про Март: Темный континент (Боевая фантастика, Самиздат, сетевая литература)
24 01 ... мебель разбросана в беспорядке, который держится уже много лет" И тому подобное убожество. Оценка: нечитаемо
udrees про Верхотуров: «Джамаат Таблиги». Самая закрытая секта в мире (Публицистика, Документальная литература)
24 01 Книга для более-менее подготовленного читателя из-за обилия специфических исламских мусульманских терминов. Хоть бы сноску внизу делали, что означает то или иное слово. А так книга описывает историю возникновения и деятельность ……… Оценка: хорошо
udrees про Атаманов: Задача выжить (Боевая фантастика)
24 01 Написано просто про выживание обычного парня с толпой девушек из монастыря в мире постапокалипсиса в стиле «Дня независимости». Прилетели злобные пришельцы, которые сразу без разговоров стали утюжить всех землян. Правда вторжение ……… Оценка: хорошо
udrees про Атаманов: Тестировщик игровых сценариев [СИ] (ЛитРПГ, Самиздат, сетевая литература)
24 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
Спасибо! Перловковар из меня тот ещё...
Страницы