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