Недоступен liburl=http://free-books.dontexist.com/get?
| |
Vadim_03 | Дата: Суббота, 23.06.2012, 23:29 | Сообщение # 1 |
Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Здравствуйте уважаемый drserj. У меня пока что ни разу не читался http://free-books.dontexist.com. Я в этом виноват ( не оттуда запрашиваю) или сервер всегда лежит, или его уже давно нет - сие мне неизвестно. Но http://www.libgen.info/ доступен, и книги с него скачиваются. Проблема в том, что тупая замена, как рекомендовано в помощи, т.е настройка на строку liburl=http://www.libgen.info/get?nametype=orig&md5= ничего не дает - там нужно задавать книгу иначе. В довершенее всего, у меня создалось впечатление, что программе плевать на идентификатор поля, идущий после &, т.е что там ни поставь, она всегда выдает md5, который, в свою очередь, нафиг не нужен http://www.libgen.info/ Можно ли что то сделать? Вообще, можно ли иметь иную, действующую сегодня, настройку в "сеть"? Или, как вариант, некую реакцию на идентификатор поля после &. Например, данный сайт (www.libgen.info) нормально срабатывает, если ему выдать номер книги (т.е ID). Правда, там еще как то надо нажать кнопку get! программно. Но, пока что, до этого еще надо дожить. Или, как вариант, просто выдача всех полей книги как переменной для внешней программы, если в этом поле настройки стоит нечто, не равное liburl=http://www.libgen.info/get?nametype=orig&md5=
|
|
| |
drserj | Дата: Вторник, 26.06.2012, 13:59 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
|
как я понимаю, оно немножко умерло....
Quote (Vadim_03) В довершенее всего, у меня создалось впечатление, что программе плевать на идентификатор поля, идущий после &, т.е что там ни поставь, она всегда выдает md5,
программа затачивалась под конкретные сайты с конкретными параметрами адреса. Я, честно говоря, сейчас не помню алгоритма, дома гляну.
Quote (Vadim_03) Вообще, можно ли иметь иную, действующую сегодня, настройку в "сеть"?
теоретически - да, но скорее всего прийдется выпускать в свет новую версию... Плохо, что раздавальщики используют разные принципы формирования адреса скачки, сложно предусмотреть все возможные варианты
Вот как, например, я должен формировать такую строку? Либо пусть библиотекари дадут мне четкий алгоритм формирования строки адреса для прямой скачки, либо я не знаю...
Code http://www.libgen.info/noleech1.php?hidden=p%3A%2F5000%2Fe870e5e39dadb3c7ea1107c7ecd8f8e1&hidden0=Guy+David+Wavelets+and+singular+integrals+on+curves+and+surfaces++1991.djvu
Тут вообще задействована система антилича, которую мне разгребать абсолютно не интересно. Если библиотека заинтересована в работе программы, она даст нормальную возможность скачки, а если будет препятствовать оной - ну не буду же я войну устраивать...
drSerj
|
|
| |
Vadim_03 | Дата: Среда, 27.06.2012, 00:24 | Сообщение # 3 |
Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Quote (drserj) Вот как, например, я должен формировать такую строку? Либо пусть библиотекари дадут мне четкий алгоритм формирования строки адреса для прямой скачки, либо я не знаю.. Большое спасибо за ответ. Из него я для себя вынес то, что мои проблемы это не результат моей глупости. Ясное дело, что просить вас о том, чтобы вы подстраивались под каждый, не зависящий от вас, чих владельцев сайтов - это брать на душу смертельный грех. Но, может быть, вы можете ввести возможность, которую я предлагал - некое заклятие в этой строке, увидев которое ваша программа просто выдаст параметры книги (все поля) и запустит то, что попросит клиент, написавший заклятие. Я, например, готов что то написать. Наверное, и другие могут.
|
|
| |
drserj | Дата: Среда, 27.06.2012, 13:12 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (Vadim_03) некое заклятие в этой строке, увидев которое ваша программа просто выдаст параметры книги (все поля) и запустит то, что попросит клиент, написавший заклятие.
Если можно - поподробнее, что, откуда, куда.
drSerj
|
|
| |
Vadim_03 | Дата: Среда, 27.06.2012, 22:59 | Сообщение # 5 |
Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Quote Если можно - поподробнее, что, откуда, куда. В программе в настройках есть строчка, где задают сервер для полуения обновленной базы и где задан адрес, где читать отсутствующую книгу. В одну из этих строчек можно поместить некое заклятие, которое ваша программа воспримет как просьбу выдать в некоем формате все поля книги и запустить некую программу. Например, заклятие может выглядеть просто как обычный путь в виндуз - т.е начинается с бувы, двоеточия, обратного слэша. ([A-z]{1}:'\\') Это может быть для вас признаком, что это не адрес интернета, а заклятие. Далее вы его обрабатываете точно так же, как вы обрабатываете аналогичную ситуацию при работе с окончаниями (расширениями) файлов, т.е запускаете програпмму в конце пути и выдаете ей аргумент - все поля книги. Например, через три запятых каждое поле ( в расчете на то, что в содержимом самих полей три подряд запятые не могут быть). Хотя, по большому счету, важно только, чтобы это было описано в помощи, и были выданы все поля - кто его знает, что захочет очередной сайт в очередной миг. Как сделаете, так и будет хорошо.
|
|
| |
drserj | Дата: Среда, 27.06.2012, 23:18 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Подобное реализовано в либрус библиотекаре, там это зовется пакетными операциями... Тут такой необходимости не возникало, но это можно попробовать решить... Однако, как это спасет от умышленного антилича, когда ссылка формируется скриптом сайта?
drSerj
|
|
| |
Vadim_03 | Дата: Среда, 27.06.2012, 23:37 | Сообщение # 7 |
Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Quote Подобное реализовано в либрус библиотекаре, там это зовется пакетными операциями... Тут такой необходимости не возникало, но это можно попробовать решить... Однако, как это спасет от умышленного антилича, когда ссылка формируется скриптом сайта? Насчет пакетности я не понял. Речь идет просто о том, что, если уж при поиске в библиотеке сформировалась группа отсуствующих файлов, хорошо бы их згрузить поудобней. Очень может быть, что сайт будет трудно "взломать" программно. Се ля ви. Из-за нескольких книг и суетиться не надо. Но стандартный интерфейс всегда хорош тем, что позволяет привлечь сторонних людей. А вообще ломатели бывают могучие. Была, например, такая программа (Димониуса) для закачки с файловых серверов (USdownloader), так они распознавали шрифты и все время обновляли это распознавание, когда меняли шрифт на сервере, причем в автомате. Такую хренотень распознавали, что и глазами то не узнаешь. Даже Rapidshare плюнул и сменил тактику. В принципе, если сайт вообще разрешает качать книгу руками, то повторить действия в автомате возможно. Т.е, к примеру, суешь ему то, что он хочет в режиме поиска, получаешь страницу с адресом книги и программно жмешь на кнопки.
Сообщение отредактировал Vadim_03 - Среда, 27.06.2012, 23:41 |
|
| |
drserj | Дата: Четверг, 28.06.2012, 00:06 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (Vadim_03) Насчет пакетности я не понял Все просто:
Code Работает система пакетной обработки достаточно просто. Отмечаем в таблице группу файлов, которые необходимо обработать. По щелчку правой кнопкой мыши на одной из отмеченных записей вызываем контекстное меню. Выбираем из списка пакетных операций необходимую, и запускаем процесс.
Если на Вашем компьютере установлен комплект программ "FB2 to ANY" или аналогичные программы, Вы можете настроить их для конвертации выбранных файлов в необходимом формате.
Имя операции - отображаемое в списках имя операции.
Исполнимый файл - полное имя файла программы-обработчика (exe-файлы, vbs-скрипты, bat-файлы, cmd-файлы и т.д.).
Параметры - дополнительные параметры, необходимые для работы программы-обработчика.
Как это всё работает: формируется командная строка, в которую подставляется имя программы, имя файла книги и дополнительные параметры. После чего производится запуск сформированной строки. Данные для выходного каталога и шаблоны формирования имён берутся из настроек в закладке "Устройство". Если установлена отметка "Запрашивать перед сохранением" - на экран будет выведен диалог выбора папки сохранения.
Quote (Vadim_03) В принципе, если сайт вообще разрешает качать книгу руками, то повторить действия в автомате возможно. Т.е, к примеру, суешь ему то, что он хочет в режиме поиска, получаешь страницу с адресом книги и программно жмешь на кнопки.
я согласен, но "вшивать" в программу алгоритм глупо, завтра поменяют (что и произошло). В новой версии мультилиб библиотекаря я уже перешел на плагины, но переписывать весь либ генезис не буду...
Кста, http://gen.lib.rus.ec пока пашет, хотя книг там 800к навсяк строка настроек для него: http://gen.lib.rus.ec/get?nametype=orig&md5=
И, кажись, http://www.libgen.info/ уже умер, у меня не открывает...
drSerj
|
|
| |
Vadim_03 | Дата: Четверг, 28.06.2012, 08:42 | Сообщение # 9 |
Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Quote Как это всё работает: формируется командная строка, Понял. Это все замечательно, но поддержка вашей программы (т.е внесение в нее изменений) на таком уровне это явно не то, о чем может просить простой пользователь. Такие просьбы идут, на мой взгляд, почти по разряду "наглость - второе счастье". Quote но переписывать весь либ генезис не буду Ради бога, не надо. И плагины, как мне кажется, тоже очень глубокое изменение. Возможно и то, о котором я писал, тоже, хотя мне и кажется, что нет. Мне это представляется так, что дело даже не в объеме кода, а в том, в скольки местах программы что-то надо менять. То, о чем писал я, это вставка анализа строки в том месте, где обрабатывается запрос на чтение файла из интернета. Если строка содержит ([A-z]{1}:'\\'), то выход в небольшую функцию: ShellExecute(Application.Handle,'open',pwidechar('"'+s+'"'), pwidechar(fn), nil, SW_NORMAL) с параметрами path из строки и вторым параметром - все поля книги. А индекс книги, по которому можно вззять эти поля, у вас должен был быть в качестве переменной, когда вы вошли в функцию обработки требования на чтение из интернета. Функция выдачи полей у вас тоже есть готовая - это когда авы выдаете расширенное описание книги. Т.е речь, как мне кажется, идет о паре строк кода в одном месте. Правда, кроме этого, еще обновление программы на сайте, да еще измнение в помощи. Так что, конечно, в итоге выходит изрядно. Спасибо. Попробую, пока они живы, что то скачать. Но, как я уже понял, вся жизнь игра. Сегодня кто то есть, завтра его уже нет. Я так понимаю, что, в момент собственной активности, надо изучить ситуацию и сработать под нее. И еще вопрост, успеешь ли. А вам такой геморой явно ни к чему.
|
|
| |
drserj | Дата: Четверг, 28.06.2012, 21:56 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (Vadim_03) оддержка вашей программы (т.е внесение в нее изменений) на таком уровне это явно не то, о чем может просить простой пользователь.
а вариантов нет Да и есть оно всё готовое в другой версии программы... так что тупо добавить.... ну, почти тупо
Quote (Vadim_03) ShellExecute(Application.Handle,'open',pwidechar('"'+s+'"'), pwidechar(fn), nil, SW_NORMAL) с параметрами path из строки и вторым параметром - все поля книги. А индекс книги, по которому можно вззять эти поля, у вас должен был быть в качестве переменной, когда вы вошли в функцию обработки требования на чтение из интернета.
а вот вопрос... а базу для него откуда брать?
drSerj
|
|
| |
Vadim_03 | Дата: Пятница, 29.06.2012, 13:46 | Сообщение # 11 |
Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Quote а вот вопрос... а базу для него откуда брать? Не дошло. Мы же говорим о ЛибГене с базой от генезиса? Я за рамки ЛибГена в процессе обсуждения не выходил. Я попробую объяснить свою позицию. С моей точки зрения, это отличный движок, в котором я пока не вижу недостатков, с огромной базой, опирающейся на реальную библиотеку. Я могу в ней что-то искать, не найдя книги, как таковой, искать или у себя, или в интернете. У меня несколько террабайт книг, и я могу их легко подвесить через линки на эту базу. Т.е то, что есть у меня, ЛибГен будет брать по линкам или непосредственно в своей скачанной базе. А то, что есть у меня, но нет в Генезисе, можно будет как нибудь врубить в базу, когда разберусь в ней. Поля то известны, так что это просто вопрос самобразования в SQL. Короче, хороший старт на длинную дистанцию. Вообще то, есть одно общее замечание. Насколько я понимаю, в эти игры играют люди, многие из которых и сами что-то могут. Т.е полезно иметь торчащие из програмы концы, причем описанные в помощи, к которым люди могут что-то подвешивать по мере необходимости. Например, вы можете подумать на тему, а не стоит ли что-то добавить в систему поиска с помощью SQL такое, чтобы можно было наоборот заносить в базу свои книги. Может быть даже делать ничего не надо, а просто дать пару советов в помощи. Или снять некий запрет, если он есть в программе. Вы несколько раз упоминали свою новую программу. А есть ли ее описание на сайте и поддерживает ли она Генезис? Если это ЛибРус, то про него написано, что он для Либрусека.
Попутно к вам немного шкурный вопрос. Я использую линки, они маленькие, но удаленькие. Они жрут в 4 раза больше места, чем им нужно (за счет размера секторов). Когда их сотни тысяч это уже проблема. Можно ли заставить вашу программу работать с архивами? (т.е большими пакетами линков) или мне надо написать самому такую программу ( куда ее зацепить. ч знаю, просто зачем писать то, что уже, может быть, есть?)
Сообщение отредактировал Vadim_03 - Пятница, 29.06.2012, 13:48 |
|
| |
drserj | Дата: Воскресенье, 01.07.2012, 00:16 | Сообщение # 12 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (Vadim_03) Не дошло. Мы же говорим о ЛибГене с базой от генезиса? Я за рамки ЛибГена в процессе обсуждения не выходил
Вопрос в том, на все ли 100% совпадают базы этих либгенов?
Quote (Vadim_03) полезно иметь торчащие из програмы концы, причем описанные в помощи, к которым люди могут что-то подвешивать по мере необходимости.
Да, согласен, полезно. Но для этого необходимо менять идеологию программы, переводить на плаги... Я её делал по просьбе нескольких трудящихся сугубо под те требования, которые выдвигались. Особо не заморачивался, ибо база либгена спроектирована и наполнена крайне криво (уж извините, но против правды не попрешь), хотя я и понимаю причины по которым это происходило, но от этого не легче. По сему, я не собирался в дальнейшем (пока не будет причесана база) что-либо менять в программе. Сейчас возникли еще проблемы и со скачкой...
Quote (Vadim_03) Вы несколько раз упоминали свою новую программу. А есть ли ее описание на сайте и поддерживает ли она Генезис?
Её описания нет, ибо программа в процессе создания. Она будет поддерживать несколько библиотек параллельно, но с либгеном - не уверен, ибо у либгена нет четкого определения как авторов, так и жанров. Как только (если) либгеновцы разгребут базу - я создам плаг и для нее. А без четкого разбора по авторам и тематикам - смысла чего-то делать нет.Quote (Vadim_03)
Попутно к вам немного шкурный вопрос. Я использую линки, они маленькие, но удаленькие. Они жрут в 4 раза больше места, чем им нужно (за счет размера секторов).
Ну, размер кластера можно (и нужно) уменьшить до 512, а не 4к как по-умолчанию...
Quote (Vadim_03) Можно ли заставить вашу программу работать с архивами?
Вопрос: А что будет при вызове линка из архива? Попробуй, конечно, но не знаю, не пробовал...
drSerj
|
|
| |
Vadim_03 | Дата: Воскресенье, 01.07.2012, 11:00 | Сообщение # 13 |
Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Quote Вопрос в том, на все ли 100% совпадают базы этих либгенов? Скорее всего, не совпадают. Они же живиые, причем живут своими жизнями. К тому же мне, например, непонятно как достать свежую базу. Последее, что я видел 2011 года. Но какое это имеет значение? Quote Да, согласен, полезно. Но для этого необходимо менять идеологию программы, переводить на плаги... Я её делал по просьбе нескольких трудящихся сугубо под те требования, которые выдвигались. Особо не заморачивался, ибо база либгена спроектирована и наполнена крайне криво (уж извините, но против правды не попрешь), хотя я и понимаю причины по которым это происходило, но от этого не легче. По сему, я не собирался в дальнейшем (пока не будет причесана база) что-либо менять в программе. Сейчас возникли еще проблемы и со скачкой... Перевод на плагины это слишком шикарно. Я имею ввиду просто то, что у вас, в сущности, уже есть - паллиативы, мелкие заплатки Может быть, база либгена и кривая, но она есть. И поля в ней симпатичные, особенно ISBN, ведь по этим полям можно автоматически искать описания книг в таких каталогах, как Национального конгресса или Ленинки. Я это уже немного пробовал. Поле с TTH позволяет формировать автоматические запросы в HUB. Правда, для этого надо добиться получения всей выдаваемой программой информации не на монитор, а в файл или в иное достпное сторонней программе место. А все сразу придумать очень трудно. Вот для решения проблем со скачкой и нужны концы, о которых я пишу. Все у вас хорошо, ничего не надо пока менять, кроме, может быть, описания черных входов и приемов работы с ними в хелпе (помощи). Quote Ну, размер кластера можно (и нужно) уменьшить до 512, а не 4к как по-умолчанию. Бесспорно вы правы. Я это уже понял. Но что то менять на многотерабайтных заполненых дисках страшно. Попытка применить для этих целей флэш выглядит жалко, он медленный. Quote Вопрос: А что будет при вызове линка из архива? Попробуй, конечно, но не знаю, не пробовал... Наверное, ничего хорошего не будет. Но с запуском линка я сам разберусь, это мне не страшно. Важно, чтобы его ЛибГен находил при поиске книги.
Добавлено (01.07.2012, 10:00) --------------------------------------------- Quote Её описания нет, ибо программа в процессе создания. Она будет поддерживать несколько библиотек параллельно, но с либгеном - не уверен, ибо у либгена нет четкого определения как авторов, так и жанров. Как только (если) либгеновцы разгребут базу - я создам плаг и для нее. А без четкого разбора по авторам и тематикам - смысла чего-то делать нет. Это я не понял. Простыми словами, это означает. что ваша программа поддерживает больше полей, чем есть в некоторых базах данных. Ну и что? Ну, останутся эти поля незаполненными, это трагедия? Главное, чтобы она могла импортировать некие базы данных и сливать в одну общую, беря что то за основу, наверное, MD5, TTH, короче, то что неизменно. Кстати говоря, во всех пока виденных мною базах данных отсутствуют поля для дескрипторов. Ведь книга может входить не в одну, а во много отраслей. Или, например, вы хотите найти книги по ОТО (общей теории относительности). Как их искать, если нет дискриптора? По названию бесполезно, по разделу - физика - даже не смешно. Полнотекстовый поиск тоже может ничего не дать - кто его знает. как там ОТО обозвали. То ли ОТО, то ли GRT, то ли сокращено, то ли всеми словами. Нет поля для УДК. Много чего нет. Сразу все не придумаешь. Хорошо бы просто иметь возможность их добавлять. И, по примру IBM, дать эту возможность пользователю. Нехай думае. Еще мой опыт показывает, что не стоит разрушать уже имеющиеся структуры. Во первых, их жалко. Они хоть как то, но работают, а что будет в новой - еще предстоит узнать. Т.е не хочется вытягивать колхоз с его структурой каталогов в один слой, да еще и с именами файлов, которые даже компьютеру ничего не говорят, как это сделано в генезисе. Кроме того, если разместить миллион файлов в один директорий, его просто станет нереально открыть за конечное время. В довершенее всего, если книг много террбайт, то переструктурировать их очень долго и нужно иметь много резервного места. А ведь еще надо будет и весб резерв имзенить. А еще есть такая единица, как книжная сборка, т.е книга на самом деле представлена некоей струкурой из глав, рисункво и еще бог знает чего, и, иногда, даже программами для ее чтения. И что, как ее чесать под одну гребенку? Потом, кроме программ вашего типа есть еще, например, гугл десктоп, который в этих террабайтах вполне успешно ведет полнотекстовый поиск. Одно из достоинств либгена как раз в том, что она позволяет найти то, чего нет на своем диске. А потом TTH или иной индекс в зубы и пошел искать, если нужно.
Сообщение отредактировал Vadim_03 - Воскресенье, 01.07.2012, 11:12 |
|
| |
drserj | Дата: Понедельник, 02.07.2012, 00:50 | Сообщение # 14 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (Vadim_03) К тому же мне, например, непонятно как достать свежую базу.
Ну, это просто
http://dl.dropbox.com/u/8985160/backup-last.rar - врде, относительно свежая...
Quote (Vadim_03) Но что то менять на многотерабайтных заполненых дисках страшно.
а не надо бояться, поменять на 512 и всё Потом - дефрагментация...
Quote (Vadim_03) Важно, чтобы его ЛибГен находил при поиске книги.
Дело в том, что это не определено в идеологии самого либгена (в отличие от либруса). Согласись, ради одного человека не стоит усложнять алгоритм поиска (он и так, благодаря не совсем .... структуре базы, достаточно медленно пашет Я посмотрю, конечно, но вот обещать что это сделаю - не буду.
Quote (Vadim_03) это означает. что ваша программа поддерживает больше полей, чем есть в некоторых базах данных.
Это означает, что все поля приводятся к единой структуре Какого-то поля может и не быть, но 90% - будут. Автор, жанр, название и т д - без них никуда.
Quote (Vadim_03) Хорошо бы просто иметь возможность их добавлять. И, по примру IBM, дать эту возможность пользователю. Ну, для этого есть поля для пользовательских ключевых слов и примечаний...
Quote (Vadim_03) не стоит разрушать уже имеющиеся структуры. спорный вопрос, я бы сказал не разрушать а преобразовывать... а не тупо всё валить в одну кучу...
drSerj
|
|
| |
drserj | Дата: Понедельник, 02.07.2012, 00:51 | Сообщение # 15 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (Vadim_03) Т.е не хочется вытягивать колхоз с его структурой каталогов в один слой а кто сказал про один слой???? дерево - оно и в африке дерево...
Quote (Vadim_03) да еще и с именами файлов, которые даже компьютеру ничего не говорят, как это сделано в генезисе. это очень даже правильно. При наличии поисково-информативной системы надобность в ручном поиске файлов напрочь отсутствует, а вот возможность не допустить дубляж - это хорошо.
Quote (Vadim_03) В довершенее всего, если книг много террбайт, то переструктурировать их очень долго и нужно иметь много резервного места.
никто не заставляет переструктурировать сами книги... А вот базу - очень даже. На самом деле - ручной работы - не сильно много. Достаточно написать несколько скриптов (парсеров) для того что бы на 90% причесать базу. Авторов и темы...
Quote (Vadim_03) гугл десктоп, который в этих террабайтах вполне успешно ведет полнотекстовый поиск угу... давай каждому в дом по кластеру в тысячу серверов
Понимаешь, есть понятие достаточности и избыточности. В данном случае, для 95% пользователей надо иметь поиск по теме и автору. Я смотрел на профессиональные библиотечные системы и понял - только профессионалам (и то сомнительно) это нужно. Мы же говорим о домашней системе... Тут надо компромис - простота и скорость.
drSerj
|
|
| |
|