nataraj: (Default)
[personal profile] nataraj
У них даже xml внутри книжек не валидный!
Ладно бы схеме не соответсвовал. Это я еще могу понять... Но он просто НЕ ВАЛИДНЫЙ!

Date: 2007-12-11 08:25 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
К вопросоу о "когда-нибудь"...
Я в ближайшее время (неделю - две) собираюсь запустить индексацию либрусека.
Индексация у меня идет со скоростью 1 книга в 5 минут, так что особой нагрузки я не создам.

Я читал, что ты переезжаешь на новый движек...
В связи с этим вопрос такой: насколько сильно поменяются ссылки для скачивания и страница для поиска? И если поменяется, то схоранишь ли ты для обратной совместимости ридеректы?

Или не хочешь ли ты сейчас обсудить и реализовать какой-либо унифицированный способ каким бы тебя можно было индексировать, такой чтобы его можно было бы не ломать при переезде с одного движка на другой?

Date: 2007-12-11 08:35 pm (UTC)
From: [identity profile] rusec.livejournal.com
Запускай, не вопрос.
Лучше на новом, который http://lib6.rus.ec - там доступны книги, снятые с основного. И сервер пока совершенно не занят, так что можешь особо не ограничивать, нагрузки он не боится пока.
поиск - /booksearch?ask=..., как и был
книги - /book/id/download
авторы - /author/id
жанры - /genre/code
по возможности стараюсь старые ссылки поддерживать, но перловки (/pl/2.pl) больше не будет.

если надо, могу сделать спецвход для роботов.
скажем, список только fb2

или возьми полный список - http://lib.rus.ec/sql/lib.libbook.sql.gz и выбирай из него.
(единственное там неочевидное поле - Deleted, 1-удалён, 4-снят, 5- снят и удалён, тебе нужны те которые NOT (1&Deleted))

Date: 2007-12-11 09:08 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Лучше на новом, который http://lib6.rus.ec - там доступны книги, снятые с основного. И сервер пока совершенно не занят, так что можешь особо не ограничивать, нагрузки он не боится пока.
Хорошо... Только у меня сервер стоит пока на узком канале. Его особо нагружать не хочется... Жена хозяина канала может обидиться... ;-)

если надо, могу сделать спецвход для роботов.
скажем, список только fb2

В идеале была бы возможность забрать список книг в какой-то xml-ке.
На вроде этих: fictionbook.ru/all_authors/ и fictionbook.ru/all_books/

Идеально было бы получить в XML виде
1. Полный список авторов
2. Полный список книг
3. Список новых книг за определенную дату ( i.e. http://lib6.rus.ec/xml/2007-12-11/new_books.xml)
4. Список орновленных книг за определенную дату (http://lib6.rus.ec/xml/2007-12-11/updated_books.xml для книг появившихся в течении 10 января)
5. Список исчезнувших по какой либо причине книг за определнную дату.
6. То же что 3,4,5 но для авторов.

меня собственно инересует только fb2 но я думаю, что кому-то еще могут понадобиться и другие форматы.

Все эти xml'ки можно генерить раз в сутки (например в полночь) и отдавать их как статический контент.

В списке книг и авторов меня интересует.
1. Внутренний id книги твоей библиотеки
2. Внутренний id автора товей библиотеки
3. Ссылка на скачивание fb2 файла
4. Ссылка на почитать
5. Ссылка на "обложку книги" где собсвенно обложка, аннотация, и пр.
6. В списке книг, для каждой книги списох id'ов авторов книги
7. Ссылка на страницу об авторе (в списке авторов).
8. В информации об авторе было бы неплохо если бы были все возмлжные алиасы, под которым автор известен
9. Не плохо бы было бы если в списке книг так же была информация о времени создания и размере файла. Это позволит лишний раз не загружать файл для перепроверки.

или возьми полный список - http://lib.rus.ec/sql/lib.libbook.sql.gz и выбирай из него.
А он обновляемый? Его, честно гворя парсить -- запарюсь... А разворачивать его внутрь MySqlной базы -- неправильно, тем более что mysql мене на сервере совершенно не чему...

Date: 2007-12-11 09:33 pm (UTC)
From: [identity profile] rusec.livejournal.com
Оно есть в виде sql, генерится ежедневно в виде /sql/lib.$table.sql.gz
$table:
1. libbook.sql
2. libavtorname.sql (SE)
3. /book/$id/fb2 (/book/$id/txt, /book/$id/html, /book/$id/rtf - если надо)
4. /book/$id/read
5. /book/$id
6. libavtor.sql
7. /author/$id
8. libavtoraliase.sql
9. в libbook.sql есть таймстамп. Но сейчас при загрузки новой версии файл не меняется, даётся новый id а старый метится как удалённый. Иначе проблемы с откатами. Так что можно тупо смотреть id>имеющегося, а максимальный брать из первой строчки /new/rss (там order by id desc). Ну или из sql.

А в чём сложность sql распарсить? Или ещё проще, поднимаешь мускул, всасываешь и генеришь любую выборку, как тебе захочется. Потом опускаешь, раз не нужен.
Всяко из базы нужную информацию удобнее вынуть - она на то и придумана.

/etc/init.d/mysql start
for i in libbook, libavtor, libavtorname, libavtoraliase; do
wget http://lib.rus.ec/sql/lib.$i.sql.gz;
zcat lib.$i.sql.gz | mysql database_name;
rm lib.$i.sql.gz;
done
SELECT .......
/etc/init.d/mysql stop

Если всё-таки настаиваешь на XML, я в этом направлении подумаю. Как время будет.
А вышеописанное уже работает.
Фокус в том, что на даный момент sql надо брать с lib.rus.ec, а файлы - с lib6.rus.ec. Впрочем, когда они объединятся ничего не сломается, пути сохранятся. Просто это будет один ip.
Edited Date: 2007-12-11 09:37 pm (UTC)

Date: 2007-12-23 09:57 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Прошу прощения, я еще раз спрошу. Мне это важно...
После переезда библиотеки пропали sql-дампы http://lib.rus.ec/sql/lib.$i.sql.gz
Скажи пожалуста, их больше не будет? Мне переписывать все занаво под парсинг html?

Re:

Date: 2007-12-23 10:05 pm (UTC)
From: [identity profile] rusec.livejournal.com
восстановил.

Re:

Date: 2007-12-23 10:52 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
О! Спасиб тебе большой!

К сведению

Date: 2007-12-24 11:54 am (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
В lib.libavtorname.sql.gz в записях с 24290 по 24439 уехавшая кодировка.

Date: 2007-12-18 02:43 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Начал писать индексатор lib.rus.ec'а

Разворачивать mysql -- я счел не правильным решением, и решил что лучше по старинке парсить html'ки.

Видимо парсить сразу буду lib6.rus.ec, чтобы потом не мучатся с переходом... А шестерку из url'ов убрать будет не сложно.

Однако возни ряд вопросов:

> поиск - /booksearch?ask=..., как и был

А как он был? Там можно запросить все книги по заданному жанру и формату?

Я помню, что на текущей версии ты рассказывал про http://lib.rus.ec/download?genre=sf_humor&type=fb2&avtor=all
Но только во-первых его на lib6 просто нету, а во вторых с ним будут небольшие проблемы по нахождению ссылки на страницу автора...

Date: 2007-12-18 03:02 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Хотя нет... поспешно беру свои слова обратно...
Лучше я sql попарсю... ;-)

Date: 2007-12-18 05:46 pm (UTC)
From: [identity profile] rusec.livejournal.com
А нельзя ли этот sql тупо всосать в твой постгрес? Или он напрочь несовместим?

Date: 2007-12-18 08:05 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Вообще наверное можно... INSERT -- он везде INSERT .
Но идеологически мне эта идея очень сильно не нравиться...

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 20th, 2026 04:31 pm
Powered by Dreamwidth Studios