Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Написание скрипта для каталогизации e-book'ов в Варезнике

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10

Открыть новую тему     Написать ответ в эту тему

LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
За первый общепригодный результат благодарим vladgangan
 

IsbnExtractor v1.2 Executable:
http://dl.downloadhosting.com/download/vladgangan/IsbnExtractor_v1.2.exe
 
IsbnExtractor v1.2 Source:
http://dl.downloadhosting.com/download/vladgangan/IsbnExtractor_Source_v1.2.exe

 
Утилита написана под .NET
 
Вытаскивает номера ISBN из локальной коллекции ебуков, располагает их в XML-дескрипторах папок (для удобства перемещения папок с книгами между носителями).
 
 
Процесс рождения утилиты описан на 1-6 страницах темы, там же - более подробная документация.  
 
Теперь, наконец, можно начинать Web-программирование
 
 
А пока срочно ищется человек, который откомпилит под винды один из серверных скриптов для проверки варез-релизов. Или иным образом перенесет их логику на винды, с целью не только выявления битых релизов, но и вытаскивания всего, что вытаскивается, во временный каталог.
 
Вторая полезная утилита:

Цитата:
Написал скрипт AutoIT3 для извлечения ISBN из коллекции DJVU книг. Необходим FR и  Djvudecode. В скрипте также выполняется проверка ISBN по 10-ой контрольной цифре.  
http://www.mytempdir.com/2026301  
(c)U235
 
Alfa Ebooks Manager-0.4.5.0 2008-01-17
Готовая утилита для работы с PDF с множеством встроенных функций, таких как распаковка архивов, поиск информации в Интернете и экспорт в локальную базу данных Microsoft Access (JET Engine .mdb)
 
 
 
Первоначальная шапка темы





Исправил название. — Svarga.

Всего записей: 18151 | Зарегистр. 14-10-2001 | Отправлено: 23:46 28-06-2004 | Исправлено: 174bpm, 14:38 24-02-2008
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Che-to ya nikak ne mogu vkurity etu fishku s bookshelf.xml i bookshelfindex.xml . bookshelf.xml po idee doljen predstavlyaty dannye o teh knigah, kotorye nahodyatsya neposredstevenno v ego kataloge (bez rekursii). A bookshelfindex.xml budet derjaty referensy na eti samye fayly? A esli u menya kolektsiya na CD? Kuda v takom sluchae sohranyaty bookshelf.xml? A kak na schet togo, chto user pereneset neskoliko uje otparsenyh faylov iz odnogo kataloga v drugoy (ili chto eshe huje razbrosaet v neskoliko)? Ruchkami perenosity entries iz/v sootvetstvuyushie bookshelf.xml? Ili zabity na vse i zastavity komp zanovo sdelaty rabotu (eto bylo by glupo, po-moemu)? Koroche, poka ya ne viju polizy u svyazki bookshelf.xml - bookshelfindex.xml pered odnim monolitnym faylom . Rastolkuyte mne, plz.

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 16:58 17-01-2005
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
A bookshelfindex.xml budet derjaty referensy na eti samye fayly?  

 
Да.  
 
 

Цитата:
Kuda v takom sluchae sohranyaty bookshelf.xml?  

 
В тот же самый каталог, где лежат книги. Чтобы он был самодокументирован и не привязан к пути в файловой системе.
 
По поводу CD - согласись, что после добавления метаописаний ценность такой коллекции возрастет на порядок. По-моему, ради этого стоит перебросить ее на винчестер, добавить файлики bookshelf.xml и записать все обратно.  В следующую версию формата bookshelfindex.xml можно будет включить ссылки на Remote коллекцию.  
 
Или ты не согласен с такими приоритетами?
 
 

Цитата:
A kak na schet togo, chto user pereneset neskoliko uje otparsenyh faylov iz odnogo kataloga v drugoy (ili chto eshe huje razbrosaet v neskoliko)?  

 
Возможность переноса целыми каталогами не страдает (если не забывать потом переиндексировать новые пути к файлам bookshelf.xml). Это можно делать ручками в файловом менеджере.
 
Для разбора свалок написать спец. утилиту (вернее, она сама собой напишется почти до конца, по мере продвижения проекта: ведь одно из предназначений создаваемого инструмента - именно что "разбор свалок" ебуков, в самом широком смысле).  Напрашивается решение "в лоб" типа Explorer, но оно неверно: после извлечения ISBN мы уже можем опираться на описания, взятые с Амазона и/или аннотации, полученные от коллег.
 
В идеале наш инструментарий должен способстовать такому преобразованию коллекции, чтобы каждая книга лежала в своей отдельной папке файловой системы. Либо чтобы она так "виртуально лежала", будучи абстрагирована некоторой оболочкой.. Но поскольку исходно у всех почти участников пристутсвуют папки типа "свалка" - приходится начинать именно с этого.
 

Всего записей: 18151 | Зарегистр. 14-10-2001 | Отправлено: 18:28 17-01-2005 | Исправлено: LevT, 18:55 17-01-2005
Raven377



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
all
Есть такие мыслишки, может они окажутся полезными...
 
1) Добавить в каждый фолдер с книгами файл book_index.xml, содержащий инфу ТОЛЬКО о книгах которые имеются ТОЛЬКО в данном фолдере. Это позволит перемещать папки куда угодно и как угодно. В случае обновлении папки, не нужно процессить опять все фолдеры, достаточно запроцессить фолдер с обновлениями. ИМХО.
 
2) Если в книге недостаточно инфы чтобы ее идентифицировать, пусть из нее выдирается все что можно, любая инфа, которая может помочь в идентификации этой книжицы. Далее эта инфа скармливается какому-нибудь Resolver'у, который в свою очередь через публичные сервисы выполняет реквесты на поиск. После получения результатов от сервисов, пользователь вручную пытается резолвнуть книгу. Если все прошло успешно, можно пойти по 2 сценариям: записать недостающую инфу в книгу, либо же добавить недостающую инфу в название файла. ИМХО.
 
3) Насчет C# либины, которой занимается vladgangan, предлагаю сделать ее СОМ объектом, для того, чтобы ее можно было пользовать где угодно, на сервере, в клиентских скриптах и т.п. ИМХО.
 
Вариант с названием файла, нужно обсудить, мое предложение пока что - это немного расширить тот формат, которым сейчас пользуются все. Добавить туда еще немного инфы, к примеру ISBN. ИМХО.

Всего записей: 93 | Зарегистр. 28-11-2002 | Отправлено: 14:36 20-01-2005
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 1) Добавить в каждый фолдер с книгами файл book_index.xml, содержащий инфу ТОЛЬКО о книгах  

 
До сих пор тождественно моему предложению с bookshelf.xml.
 
 

Цитата:
которые имеются ТОЛЬКО в данном фолдере.  

 
Каким образом предлагаешь устанавливать равенство-неравенство книг на этом (предварительном!) этапе? Индекс? Хэш? Какой именно?
 
И еще вот что мне непонятно: это - твое предложение для начального этапа  реализации (то есть вот прямо завтра начинаем формировать такие файлы) или ты пытаешься сформулировать формат "идеальной коллекции", к которому надо будет придти со временем?
 
 

Цитата:
2) Если в книге недостаточно инфы чтобы ее идентифицировать, пусть из нее выдирается все что можно, любая инфа, которая может помочь в идентификации этой книжицы.  

 
Мне кажется, что это гиперпредусмотрительно. ISBN можно автоматом выдрать из 95% книг (очень осторожная оценка, на самом деле сильно больше). Оставшиеся CHM и PDF не так уж сложно идентифицировать ручками, открыв и посмотрев. В 9/10 из оставшегося ISBN таким образом найдется, остальными можно будет [временно] пренебречь.
 
Я уже мотивировал выше, почему публикацими "на правах рукописи" не стоит сейчас заниматься.
 
 

Цитата:
Если все прошло успешно, можно пойти по 2 сценариям: записать недостающую инфу в книгу, либо же добавить недостающую инфу в название файла. ИМХО.  

 
Вот это непонятно. Куда ты предлагаешь писать "в книгу"?  
 
Что касается названия файла -  всю инфу туда не впихнешь, а некоторая будет смотреться некузяво и делать названия файлов человеконечитаемыми. Уж лучше сваяй скрипт для Windows Shell, который будет вытаскивать дескрипторы из bookshelf.xml и показывать их в окне Explorer (Ну типа как отображаются mp3 тэги в папках типа "Музыка"...)
 
 
При твоем "разрушающем" походе придется попотеть над тем, чтобы над одинаковыми книгами везде и всегда проделывалось ровно одно и то же.  Иначе "человекоидентичные" книги и папки уже перестанут быть таковыми, а компьютерная идентичность еще не будет достигнута.
 
Мое предложение с bookshelf.xml - подход "неразрушающий". Исходные каталоги и файлы вообще не трогаются, добавляется лишь всего один файлик на папку.
 
 

Цитата:
3) Насчет C# либины, которой занимается vladgangan, предлагаю сделать ее СОМ объектом, для того, чтобы ее можно было пользовать где угодно, на сервере, в клиентских скриптах и т.п. ИМХО.  

 
Ну это уже потом. А для начала ее хорошо бы довести итеративно циклами тестирования до ума (до тех самых 95%). И оформить в виде одноразовой утилиты, которая будет первой запускаться на локальных коллекциях. Которые после ее прогоны окажутся в состоянии, "инициализированном" для обработки с помощью прочего софта, например для того, который дособирает инфу с Амазона.
 
А COM-объектом сделать-то можно, только все равно придется рантайм .NET ставить.  Или попытаться использовать тулзу типа Thinstall - якобы она умеет линковать только нужные библиотеки из .NET.
 
 

Цитата:
Вариант с названием файла, нужно обсудить, мое предложение пока что - это немного расширить тот формат, которым сейчас пользуются все. Добавить туда еще немного инфы, к примеру ISBN. ИМХО.

 
В качестве предусловия работы всех прочих утилит пакета? Вместо того предусловия, что предложил я (файла bookshelfindex и набора bookshelf.xml)?  Мотивируй, чем это лучше. Я не вижу ни одного преимущества, а вижу только недостаток: человеконекузявость.

Всего записей: 18151 | Зарегистр. 14-10-2001 | Отправлено: 00:18 21-01-2005 | Исправлено: LevT, 00:31 21-01-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет. Прошу прощения, что давно не писал. Был занят другими делами и на этот проект просто не хватало времени . В общем, компонент, в принципе, дописан. Прогнал по своей коллекции.
 
Проверил вручную файлы, которые выдали ошибки, и во всех просматривается 2 причины, которые не дают процессить файл:
1) либо он encrypted
2) либо в нем запрещен printing
3) либо XPDF дает сбой при процессинге PDF файла и лочит доступ к текстовой версии того, что уже смог извлечь (я так и не нашел причину подобного поведения)
 
Количество сбойных файлов достаточно мало, чтобы при желании залезть в них ручками и посмотреть ISBN. Как драйвер компонента идет консольное приложение, которому из командной строки передается путь, который будет рутом для процессинга библиотеки.  
После окончания работы, в папках появятся файлы bookshelf.xml, которые будут содержать инфу о книгах, содержащихся в данном каталоге (и только в нем, т.е. никакой рекурсии). В списке найденных ISBN-ов книги, как правило, определяющий книгу ISBN находится первым или вторым. Остальные - это ISBN-ы упоминающиеся в книге, либо мусор, который прошел pattern matching регулярного выражения.
Также, в рабочем каталоге программы будут файлы:
1) ErrorLog.txt - содержит сообщения об ошибках и где они были вызваны
2) Library.xml - содержит всю библиотеку в одном файле (так, на всякий случай ) + инфу о сбойных файлах
 
Так что, желающие поучавствовать в тестировании сливают компонент отсюда http://dl.downloadhosting.com/download/vladgangan/IsbnExtractor.exe, ставят .NET Framework, прогоняют по своей коллекции, отправляются пить пиво и позже делятся отзывами о его работе.
 
По идее, следующий этап работы - это написание vbs скрипта для создания файла bookshelfindex.xml, который будет искать и каталогизировать в единое целое файлы bookshelf.xml. Но это уже не моя работа, как говорится.
 
Ну, и уже по окончании этой задачи, думаю основная работа ляжет на плечи Raven377, который будет обрабатывать данные и тащить инфу с амазона по ISBN.
 
P.S. В именах каталогов не должны быть всякие символы (типа #, ', $ и т.д., иначе все будет насмарку - я еще не решил этй проблему )

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 21:50 27-03-2005
c0r0ner



злобный доктор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladgangan
Несколько раз программа выпускала невупускаемую ошибку но работать продолжала, хотяв имени файла спец символов небыло.
 

Цитата:
обрабатывать данные и тащить инфу с амазона по ISBN.

Я давно писал скрипт, который хранил это все. На данный момент написано где-то 60%
А поиск по амазону - а вот он
Попозжа выложу и сам движок на обозрение.
 
Добавлено:
vladgangan
А вобще молодец Порадовал

Всего записей: 742 | Зарегистр. 09-12-2001 | Отправлено: 10:13 28-03-2005 | Исправлено: c0r0ner, 10:15 28-03-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
c0r0ner

Цитата:
Несколько раз программа выпускала невупускаемую ошибку но работать продолжала

Тоже это заметил, но проблема лежит в программе XPDF, которую юзает компонент (у меня это происходит на одних и тех же файлах). Вообще перехватить сообщение о фатальной ошибке этого отдельного процесса я не могу , но по крайней мере могу предотвратить весь процесс от завершения. Поэтому и получается, что ошибка высвечивается, но все продолжает работать, а не летит к чертовой бабушке .

Цитата:
хотяв имени файла спец символов небыло

Эта конкретная ошибка не связана со спецсимволами. Проблема, связанная с ними может появиться на этапе, когда все файлы отпарсены и происходит попытка рассувать их по каталогам. Все еще корплю над этой проблемой.

Цитата:
А вобще молодец Порадовал

Спасибо и тебе за отзыв!

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 10:26 28-03-2005
c0r0ner



злобный доктор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я еще вот думаю, может выдирать к-во страниц для PDF, для CHM проблематично, хотя у некоторых на индексных страницах есть информация. Вобщем стоит подумать

Всего записей: 742 | Зарегистр. 09-12-2001 | Отправлено: 12:46 28-03-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
c0r0ner

Цитата:
выдирать к-во страниц для PDF

А зачем? На амазоне на каждую книгу есть точная инфа, среди которой указывается и количество страниц. ИМХО, нет смысла делать это самим.

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 12:52 28-03-2005
hyphen

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladgangan
 
Я очень рад, что добрый человек все же нашелся и написал прогу которая нужна изначально, чтобы обо всем этом вобще можно было разговаривать. Спасибо.
Прога, может быть, еще сыровата, но, как говорят, лиха беда начало.
 
Пока проверил ее пока на одном каталоге, содержащим подкаталоги, архивы, 15 chm
и 15 pdf файлов. Работала полчаса.
 
Результат: обработала все файлы и в конце почему-то вылетела.
Файла bookshelf.xml не создала, но создала errorlog.txt.
 
Persentage complete: 99.98%
 
Microsoft CLR Debugger:
An unhandled exception of type 'System.Data.SyntaxErrorException' occurred in system.data.dll
Additional information: Syntax error: Missing operand after 's' operator.
 
Если исходный текст is available, я бы попробовал разобраться в отладчике, что произошло.

Всего записей: 101 | Зарегистр. 22-04-2002 | Отправлено: 20:29 28-03-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hyphen
Я тебе сам могу сказать что произошло ...
Посмотри, нет ли в пути твоего каталога, который ты проверял, апострофа, типа:
C:\My Ebooks\TeamLiB's Ebooks\
Дай знать. Если апострофа нет, то будем разбираться дальше, потому как на данный момент апостроф - это мое единственное предположение (из опытов, тестов и практики). Если все же апостроф есть, то в этом направлении я уже пытаюсь пофиксить этот баг.

Цитата:
Работала полчаса.

Это связано с тем, что ищется не первый попавшийся ISBN, а все возможные их появления в книге (по желанию товарища LevT). Теперь представь, что в среднем книга имеет 500-1000 страниц. Также надо учитывать, что перед этим текст из PDF/CHM надо еще вытащить в текстовое представление. В общем, для компа есть работа, при чем не маленькая и не тривиальная.

Цитата:
Если исходный текст is available

Исходники будут выложены в ближайшее время, т.к. я полагаю, что времени заниматься проектом у меня в ближайщее время будет очень мало. Было бы неплохо, чтобы еще другие заинтересованные компетентные лица подключились и по концовке сделали стоящую и полезную вещь.
Спасибо за отзыв! Жду ответа.

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 23:57 28-03-2005
hyphen

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladgangan
 
имя каталога   D:\books\dotNet\  
 
но, некоторые  chm, pdf - файлы и архивы содержащиеся в этом каталоге имеют апостроф в своем имени.
 
Если это существенно для времени обработки, то наверное, достаточно первого ISBN, или вернее первых 5-10 страниц книги, потому что 95-99% книг, наверняка его там содержат.
А если это книга нестандартная, т.е. не содержит ISBN на первых страницах, то разбиратся с ней нужно вручную, потому что на все случаи трудно угодить. Если программа нашла в книге 3 ISBN'а, то чтобы понять какой правильный, все равно нужно проверить их вручную.
 
пример:
в книге New.Riders.Andrew.Rollings.And.Ernest.Adams.On.Game.Design.eBook-LiB.chm  было найдено 29 ISBN-ов из которых реально нужен только первый. Остальные из библиографии.
 
т.е. скорее всего мы обязаны брать первый ISBN и считать его искомым.

Всего записей: 101 | Зарегистр. 22-04-2002 | Отправлено: 00:47 29-03-2005 | Исправлено: hyphen, 02:45 29-03-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hyphen

Цитата:
Если это существенно для времени обработки, то наверное, достаточно первого ISBN, или вернее первых 5-10 страниц книги, потому что 95-99% книг, наверняка его там содержат.

Абсолютно согласен с тобой! Но просьба LevT была в том, чтобы запроцессить всю книгу и выдрать все упоминания об ISBN из нее. В принципе, я могу сделать так, что каждый пользователь сам будет решать какой сэмпл страниц из PDF снимать (5, 10, 1000, и т.д.) в зависимости из имеющихся вычислительных ресурсов. Если не секрет, опиши конфиг своей машины.
Кстати, сэмплирование касается только PDF файлов, потому как там мы можем определить логическое чередование страниц. Для CHM все равно приходится экстрактить всю книгу. Но, мои опыта показывают, что больше всего ресурсов жрет именно PDF процесс, а не CHM.

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 09:44 29-03-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Новый билд компонента, который решает некоторые вышеупомянутые проблемы, а именно:
1) Поддержка апострофа в пути каталога
2) Более понятные сообщения в ErrorLog.txt (теперь конкретно указывается, если проблема связана с физическим доступом к PDF файлу, или PDF не имеет возможности печати или запоролен)
 
Брать здесь: http://dl.downloadhosting.com/download/vladgangan/IsbnExtractor.rar

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 15:48 29-03-2005
hyphen

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladgangan
новый билд справился с каталогом,  
как оказалось за 30мин он обработал и все подкаталоги, всего 3.2 ГБ
Машинка атлон ХР1600, 512МБ, АТА100/7200
 
В корневом, почему-то оказался пустой bookshelf, хотя книги из него попали в
library.xml
 

Всего записей: 101 | Зарегистр. 22-04-2002 | Отправлено: 05:27 30-03-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hyphen

Цитата:
новый билд справился с каталогом


Цитата:
он обработал и все подкаталоги

Отлично, это не может не радовать . Значит двигаемся в нужном направлении .

Цитата:
В корневом, почему-то оказался пустой bookshelf, хотя книги из него попали в
library.xml

Хм, а вот это странно, что bookshelf.xml оказался пустым. Надо будет попробовать погонять еще у себя в различных ситуациях.
 
Спасибо за помощь!

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 09:48 30-03-2005
hyphen

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladgangan
 
можно сделать такие изменения:
 
1. если каталог не содержит  pdf или chm файлов, то лучше bookshelf  в него не вставлять.
 
2. тег error перенести из library в тег ebook of bookshelf.
 
3. даже если isbn не найден все равно создавать тег ebook для bookshelf с именем, размером итд. и пустым isbns. А в тег error, сотв. сообщение.
 
4. изменить назначение library: в нем прописывать только пути до каталогов, хранящих bookshelf. Если нужна полная xml база по всем книгам, то, мне кажется, лучше сделать еще одну утилиту которая будет ее собирать на базе library и bookshelfs. Или это будет таже прога но с ключом, или это будет другой файл, а не library.
 
5. сделать ключ, чтобы собирался только один isbn и с первых 5 страниц, если его там нет то сообщение в тег error.(встречал книги где есть всего один isnb и тот не от самой книги, а из библиографии)

Всего записей: 101 | Зарегистр. 22-04-2002 | Отправлено: 19:44 30-03-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hyphen
Спасибо за предложения. Но обо всем по порядку.
 

Цитата:
1. если каталог не содержит  pdf или chm файлов, то лучше bookshelf  в него не вставлять.  

Идея верная, надо будет реализовать
 

Цитата:
2. тег error перенести из library в тег ebook of bookshelf.  

Зачем? Этот тег вообще надо убрать из Library.xml . Он дублирует информацию из ErrorLog.txt
 

Цитата:
3. даже если isbn не найден все равно создавать тег ebook для bookshelf с именем, размером итд. и пустым isbns. А в тег error, сотв. сообщение.  

Не знаю на данный момент, т.к. согласно пункту 2 я собирался вообще убрать информацию об ошибках, т.к. она дублируется в ErrorLog.txt
 

Цитата:
4. изменить назначение library: в нем прописывать только пути до каталогов, хранящих bookshelf. Если нужна полная xml база по всем книгам, то, мне кажется, лучше сделать еще одну утилиту которая будет ее собирать на базе library и bookshelfs. Или это будет таже прога но с ключом, или это будет другой файл, а не library.  

Согласно спецификации LevT, этим будет заведовать bookshelfindex.xml, который будет создаваться специальным внешним vbs скриптом, поэтому такая функциональность в моем компоненте была бы дублем. Вообще по сути Library.xml используется в тестовых целях и только. В финальном релизе его не будет. Что касается полной базы по книгам, то Raven377 как раз и занимается созданием оболочки, которая будет обрабатывать множество bookshelf.xml на основе единого bookshelfindex.xml и предоставлением книги на основе информации с Амазона по найденному ISBN.
 

Цитата:
5. сделать ключ, чтобы собирался только один isbn и с первых 5 страниц, если его там нет то сообщение в тег error.(встречал книги где есть всего один isnb и тот не от самой книги, а из библиографии)  

К следующему билду добавлю возможность извлечения арбитрарного количества страниц из PDF по желанию пользователя. Если ключ не будет указан, то по умолчанию будет извлекаться всю книга .
 
Добавлено:
LevT
Raven377
Ребята, вы вроде бы как основнаю и идейная движущая сила проекта! Куда вы пропали?

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 21:32 30-03-2005
hyphen

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladgangan
 
1. Насчет неидентифицированных книг:  
существуют программы и даже компоненты (например ASPPDF  и пр.), к сожалению не бесплатные, которые которые снимают блокировку content copying и printing с pdf файлов, а также читают их содержимое.  
Это я о том, что, в принципе, использование pdf2txt может быть исключено и уменьшено число необработанных книг.  
 
http://www.tallcomponents.com/Default.aspx?id=download-pdfkit
pdfkit для .net бесплатно без ограничений. Снимает restrictions  с pdf файла. Я уже проверил. Плохого то, что лепит доп строчку на каждую страницу, но в нашем случае это не страшно.
 
2. тег error(или назови его по другому), хоть он и появился спонтанно, а все равно он очень нужен. т.к. файл ErrorLog.txt вобще не несет никакой информации, это просто набор битов на который посмотрели, а потом забыли. После обработки каталога твоей прогой все файлы с расширениями pdf и chm  должно быть классифицированны либо как книги с isbn, либо как книги без isbn, либо как инородное тело. И в дальнейшем их все равно можно будет обрабатывать(посылать по почте, сравнивать), дополнять о них информацию(например контр.сумму) и тд. А сейчас получается, что книги без isbn могут быть когда нибудь потеряться и мусор который не является книгами сохранит право на жизнь. Не все парни захотят вручную вычищать свои каталоги по списку из ErrorLog.

Всего записей: 101 | Зарегистр. 22-04-2002 | Отправлено: 02:42 31-03-2005 | Исправлено: hyphen, 07:53 31-03-2005
vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hyphen

Цитата:
программы и даже компоненты (например ASPPDF  и пр.), к сожалению не бесплатны

В самом начале задачана была поставлена так - либо писать самим, либо использовать freeware компоненты. Четко было сказано - никакого вареза! Поэтому XPDF оказался на данный момент единственным стоящим решением для экстракта инфы. В принципе, если появится другая более интересная возможность (через компоненты или как-нибудь по-другому), то мы ее обсудим, имплементируем и откажемся от XPDF. Вариант ц компонентом мне кажется вообще идеальным, т.к. на данный момент идет вызов другого процесса и загружается новое адресное пространство, над которым у меня нет контроля. Отсюда и вытекает большинство ошибок. Но! На данный момент это единственное решение, которое я смог найти .
 

Цитата:
pdfkit для .net бесплатно без ограничений. Снимает restrictions  с pdf файла. Я уже проверил. Плохого то, что лепит доп строчку на каждую страницу, но в нашем случае это не страшно.  

Ну так займись им . Напиши утилиту (или компонент), которая в бэтче процессит все PDF файлы, начиная от рут-каталога. Будет идти в комплекте со всеми остальными программами комплекса. Кстати, штука архинужная и архиважная не только для целей нашего проекта, но и в хозяйстве вообще.
 

Цитата:
Плохого то, что лепит доп строчку на каждую страницу, но в нашем случае это не страшно.

В нашем случае - по барабану, что он там лепит или не лепит. Но тут дело в другом - если я его прогоню по своей оригинальной коллекции, то получается, что он изменит мои книги, чего особо не хотелось бы . Тут надо подумать.
 

Цитата:
2. тег error(или назови его по другому), хоть он и появился спонтанно, а все равно он очень нужен. т.к. файл ErrorLog.txt вобще не несет никакой информации, это просто набор битов на который посмотрели, а потом забыли. После обработки каталога твоей прогой все файлы с расширениями pdf и chm  должно быть классифицированны либо как книги с isbn, либо как книги без isbn, либо как инородное тело. И в дальнейшем их все равно можно будет обрабатывать(посылать по почте, сравнивать), дополнять о них информацию(например контр.сумму) и тд. А сейчас получается, что книги без isbn могут быть когда нибудь потеряться и мусор который не является книгами сохранит право на жизнь. Не все парни захотят вручную вычищать свои каталоги по списку из ErrorLog.  

По желанию общественности могу перенести сообшения об ошибках в bookshelf.xml, а также заносить инфу о книге даже в том случае, если ничего не найдено в ней. Но тут нужен совет Raven377, который может определить нужна ли ему вообще эта информация или нет (потому как именно он будет непосредственно ее обрабатывать).

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 10:32 31-03-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10

Компьютерный форум Ru.Board » Интернет » Web-программирование » Написание скрипта для каталогизации e-book'ов в Варезнике


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru