Вы здесьУдаление дублей из архивов по 1000 книг.
Опубликовано вт, 20/01/2009 - 15:27 пользователем Bullfear
Есть такая программа myhomelib. Для работы использует архивы либрусека. В этих архивах примерно 20% дублей. В связи с этим возникает вполне закономерное желание эти дубли убрать. pkn написал для этой цели скрипт. Скрипт перловый.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
PipboyD RE:Подайте бедному копеечку на книжку с литреса... 11 часов
Саша из Киева RE:Приключения белочки Рыжки 1 день Paul von Sokolovski RE:На 78-м году жизни скончался советский и российский... 2 дня Paul von Sokolovski RE:Бушков умер. 2 дня lemma7 RE:Серия «Интеллектуальный детектив» изд-ва АСТ 3 дня Larisa_F RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 4 дня mig2009 RE:Багрепорт - 2 1 неделя Isais RE:Издательство "Медуза" 1 неделя babajga RE:Народные сказки - Сказки народов Сибири = Fairy-Tales of... 2 недели Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 2 недели sibkron RE:Серия "Библиотека французской литературы" (Макбел) 2 недели Isais RE:Игорь Северянин - Том 2. Поэзоантракт 3 недели sem14 RE:Современная корейская литература. Книжная серия... 4 недели sem14 RE:Семейственность в литературе 4 недели Isais RE:Детство, опаленное войной (Вторая мировая 1939-1945 и ВОВ) 1 месяц Саша из Киева RE:Подводное течение 1 месяц konst1 RE:Переименовать ник (имя учетки) 1 месяц Larisa_F RE:Таррин Фишер 2 месяца Впечатления о книгах
Никос Костакис про Зурков: Большая охота (Альтернативная история, Боевая фантастика, Попаданцы)
26 10 «Шо ни зьим, тое попыднадкусваю». Автор уверен, что он правильно воспроизводит украинский язык? Или "и так сойдет"?
Олег Макаров. про Пепел доверия
26 10 Интересно. Очень долго раскачивается сюжет, до движухи доходит после середины, но написано хорошо и читается достаточно легко. Отличная идея причин и развития апокалипсиса. Реально триллер.
udrees про Даути: Когда дым застилает глаза [Провокационные истории о своей любимой работе от сотрудника крематория] [Smoke Gets in Your Eyes: And Other Lessons from the Crematory ru] (Современная проза, Биографии и Мемуары)
26 10 Какая страшная книга, написанная от лица работника похоронного бюро насчет похоронных ритуалов и о своей работе – в основном о сжигании тел в печи крематория. Сама авторша видать все-таки с прибабахом, все же не каждый человек ……… Оценка: хорошо
udrees про Михайлов: Пепел доверия 2 (Боевая фантастика, Постапокалипсис, Самиздат, сетевая литература)
26 10 Вторая книга из новой серии про жизнь во время зомби-апокалипсиса. Первая книга была хорошо написана, где начиналась завязка сюжета. Вторая книга думаю оказалась не хуже. Сюжет также идет неторопливо, показывая всю боль мира ……… Оценка: отлично!
udrees про Мантикор: Покоривший СТЕНУ 19: Оазис (Боевая фантастика, ЛитРПГ, Самиздат, сетевая литература)
26 10 Замечательное продолжение, уже 19-я книга от автора и герой почти закончил прохождение Стены. Все описано достаточно живо и интересно, описаний статов на десяток страниц уже почти нет. В книге есть около десятка иллюстраций. ……… Оценка: отлично!
ne_fanat про Дронт: Семьянин [СИ] (Социальная фантастика, Фэнтези, Попаданцы, Самиздат, сетевая литература)
25 10 Великолепная серия. На уровне Ильина, Метельского, Мазина или Васильева. Короче говоря, автор входит в мой личный ТОП рейтинга. Оценка: отлично!
Barbud про Чайка: Купец из будущего. Часть 2 [СИ] (Альтернативная история, Историческая проза, Самиздат, сетевая литература)
25 10 Что-то в этом есть. И язык неплох, и историчность присутствует. Книга побудила поинтересоваться событиями той эпохи. С удивлением узнал, что ГГ не с потолка взят, реально существовал такой весьма успешный древнеславянский ……… Оценка: отлично!
Олег Макаров. про Путилов: Опасные манипуляции [СИ] (Детективная фантастика, Городское фэнтези, Самиздат, сетевая литература)
23 10 Мастерское затягивание текста. Ничего не происходит, но вот-вот произойдет. 5,66% и я сломался. Так писать нельзя Оценка: нечитаемо
дядя_Андрей про Каратист
23 10 Какие-то однообразно у ГГ всё получается. Что в каратэ, что с девушками. И, на мой взгляд, произведение излишне перегружено специфической терминологией. Ладно, мне она знакома, а вот неподготовленный читатель может и завязнуть.
Анни-Мари про Панарин: Эволюционер из трущоб (Боевая фантастика, Фэнтези, Попаданцы, Самиздат, сетевая литература)
21 10 Мдя. Я все понимаю, взрослое сознание в теле младенца и вот это все, но физиологию куда дели?! Младенец, которому нет еще месяца, умудряется встать на ноги и стоять! О_о Автор детей новорожденных видел хоть раз? Хотя бы на картинке?
mysevra про Стругацкие: Обитаемый остров (Вариант 1971 года) (Космическая фантастика)
20 10 Одновременно и восхитительно, и запредельно бесчеловечно. Пробирает. Великолепная книга, которая читается взахлёб. Оценка: отлично! |
Комментарии
Отв: 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
Спасибо! Перловковар из меня тот ещё...
Страницы