Вы здесьУдаление дублей из архивов по 1000 книг.
Опубликовано вт, 20/01/2009 - 15:27 пользователем Bullfear
Есть такая программа myhomelib. Для работы использует архивы либрусека. В этих архивах примерно 20% дублей. В связи с этим возникает вполне закономерное желание эти дубли убрать. pkn написал для этой цели скрипт. Скрипт перловый.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
Океана RE:Подайте бедному копеечку на книжку с литреса... 1 день
MrMansur RE:<НРЗБ> 2 дня Stager RE:Беженцы с Флибусты 4 дня Tramell RE:Серия "Библиотека французской литературы" (Макбел) 4 дня sem14 RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 1 неделя sem14 RE:Современная корейская литература. Книжная серия... 1 неделя sem14 RE:Серия "Символы времени" издательства "Аграф" 2 недели sem14 RE:Собираем серию: "Азбука-триллер", издательство "Азбука-Терра" 2 недели sem14 RE:«Юмористическая серия» 2 недели larin RE:Оплатил. Абонемент не отображается 2 недели larin RE:Оплатил, но абонемент не отображается 3 недели nehug@cheaphub.net RE:DNS 3 недели alexk RE:Багрепорт - 2 1 месяц Isais RE:Семейственность в литературе 1 месяц Violontan RE:Жан Батист Мольер воскрешенный 1 месяц sem14 RE:Гонкуровская премия 1 месяц Саша из Киева RE:Приключения белочки Рыжки 1 месяц alex-from RE:Оплатил два раза, но абонемента нет 1 месяц Впечатления о книгах
Олег Макаров. про Васильев: По государеву указу (Городское фэнтези, Рассказ, Самиздат, сетевая литература)
02 01 Удивительно слабая вещь для Васильева. Или как будто "на отвяжись" написана. Оценка: плохо
Oleg68 про Иванов: Дебри (История, Публицистика)
31 12 Исторические зарисовки на тему Сибири от авторов Оценка: неплохо
tvv про Никитин: Вадбольский – 6 (Фэнтези, Попаданцы)
29 12 Лилия Никитина выложила этот роман на АТ с посвящением: Роман Юрия Никитина. Публикация приурочена ко дню рождения Автора. Уважаемые читатели, поклонники, друзья! Сегодня, в день рождения Юрия Александровича ………
mysevra про Кассе: Третья мировая психотронная война (Публицистика)
29 12 Предсказуемо: Штаты – колыбель зла, все остальные в белом, особенно некоторые. Наймиты империализма хотят захватить независимую Беларусь и свободную Северную Корею – это же шедевр советской передовицы. Ни один политический ……… Оценка: плохо
mysevra про Лондон: Сердца трех [Hearts of Three ru] (Классическая проза ХX века, Приключения)
29 12 Отличный приключенческий роман, поднимает настроение. Оценка: отлично!
mysevra про Ми   : Седьмой читатель [litres] [Seventh Reader ru] (Триллер)
29 12 Читать интересно благодаря нездешнему колориту. Необычно. Оценка: хорошо
Sello про Фель: Волки у дверей [Les Loups à leur porte ru] (Триллер)
29 12 Не знаю, чья тут бöльшая "заслуга" - автора, переводчика, или того и другого, но текст, похожий на информативный листок, переполненный детализацией каждого движения, причем порой прямо-таки чувствуется смакование, когда дело ……… Оценка: плохо
udrees про Панчин: Сумма биотехнологии. Руководство по борьбе с мифами о генетической модификации растений, животных и людей (Химия, Биология, Научная литература: прочее, Научпоп)
28 12 Книга очень хорошая, рассчитанная на широкий круг читателей по довольно сложной и злободневной теме – ГМО, генная инженерия, мутации и все с этим связанное. Много страшилок наверное эта книга снимет, хотя все равно многих ……… Оценка: отлично!
udrees про Корнев: Хмель и Клондайк. Эпилог (Фэнтези, Постапокалипсис)
28 12 Даже не верится что это писал автор Приграничья и что это эпилог. Какой-то невнятный скомканный рассказ на десяток страниц – просто перестрелка, разговор и кто-то переезжает на Аляску, и все – это конец книги якобы. Оценка: плохо
udrees про Шиленко: Искатель - 2 [СИ] (Фэнтези, Эротика, ЛитРПГ, Самиздат, сетевая литература)
28 12 Написано достаточно хорошо для развлекательной книги. Описания окружающей среды создают цельную картину мира и жизни в жанре литРПГ. Главный герой хоть и развивается по законам жанра, качается и получает новые уровни, а также ……… Оценка: неплохо
udrees про Морале: Проклятье, с*ка! Книга 4 (Городское фэнтези, Самиздат, сетевая литература)
28 12 В целом нормальное продолжение приключений главного героя, 4-я книга в общем и вторая книга про его приключения в Японии, замкнувшая временную петлю. Автор все действие описывает в Японии, правда опять скатывается в школьные ……… Оценка: неплохо
udrees про Морале: Проклятье, с*ка! Книга 3 [калибрятина] (Эротика, Самиздат, сетевая литература)
28 12 Смешная довольно книга про продолжение приключений попаданца в новом мире. Автор сюжет решил изменить и перекинуть его по времени на два года назад и еще и в Японию. Видимо автор питает слабость к Японию, поэтому все действие ……… Оценка: неплохо |
Комментарии
Отв: 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
Спасибо! Перловковар из меня тот ещё...
Страницы