К вопросоу о "когда-нибудь"... Я в ближайшее время (неделю - две) собираюсь запустить индексацию либрусека. Индексация у меня идет со скоростью 1 книга в 5 минут, так что особой нагрузки я не создам.
Я читал, что ты переезжаешь на новый движек... В связи с этим вопрос такой: насколько сильно поменяются ссылки для скачивания и страница для поиска? И если поменяется, то схоранишь ли ты для обратной совместимости ридеректы?
Или не хочешь ли ты сейчас обсудить и реализовать какой-либо унифицированный способ каким бы тебя можно было индексировать, такой чтобы его можно было бы не ломать при переезде с одного движка на другой?
Запускай, не вопрос. Лучше на новом, который 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))
Лучше на новом, который 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 мене на сервере совершенно не чему...
Оно есть в виде 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.
Прошу прощения, я еще раз спрошу. Мне это важно... После переезда библиотеки пропали sql-дампы http://lib.rus.ec/sql/lib.$i.sql.gz Скажи пожалуста, их больше не будет? Мне переписывать все занаво под парсинг html?
Разворачивать mysql -- я счел не правильным решением, и решил что лучше по старинке парсить html'ки.
Видимо парсить сразу буду lib6.rus.ec, чтобы потом не мучатся с переходом... А шестерку из url'ов убрать будет не сложно.
Однако возни ряд вопросов:
> поиск - /booksearch?ask=..., как и был
А как он был? Там можно запросить все книги по заданному жанру и формату?
Я помню, что на текущей версии ты рассказывал про http://lib.rus.ec/download?genre=sf_humor&type=fb2&avtor=all Но только во-первых его на lib6 просто нету, а во вторых с ним будут небольшие проблемы по нахождению ссылки на страницу автора...
no subject
Date: 2007-12-11 08:25 pm (UTC)Я в ближайшее время (неделю - две) собираюсь запустить индексацию либрусека.
Индексация у меня идет со скоростью 1 книга в 5 минут, так что особой нагрузки я не создам.
Я читал, что ты переезжаешь на новый движек...
В связи с этим вопрос такой: насколько сильно поменяются ссылки для скачивания и страница для поиска? И если поменяется, то схоранишь ли ты для обратной совместимости ридеректы?
Или не хочешь ли ты сейчас обсудить и реализовать какой-либо унифицированный способ каким бы тебя можно было индексировать, такой чтобы его можно было бы не ломать при переезде с одного движка на другой?
no subject
Date: 2007-12-11 08:35 pm (UTC)Лучше на новом, который 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))
no subject
Date: 2007-12-11 09:08 pm (UTC)Хорошо... Только у меня сервер стоит пока на узком канале. Его особо нагружать не хочется... Жена хозяина канала может обидиться... ;-)
если надо, могу сделать спецвход для роботов.
скажем, список только 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 мене на сервере совершенно не чему...
no subject
Date: 2007-12-11 09:33 pm (UTC)$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.
no subject
Date: 2007-12-23 09:57 pm (UTC)После переезда библиотеки пропали sql-дампы http://lib.rus.ec/sql/lib.$i.sql.gz
Скажи пожалуста, их больше не будет? Мне переписывать все занаво под парсинг html?
Re:
Date: 2007-12-23 10:05 pm (UTC)Re:
Date: 2007-12-23 10:52 pm (UTC)К сведению
Date: 2007-12-24 11:54 am (UTC)no subject
Date: 2007-12-18 02:43 pm (UTC)Разворачивать mysql -- я счел не правильным решением, и решил что лучше по старинке парсить html'ки.
Видимо парсить сразу буду lib6.rus.ec, чтобы потом не мучатся с переходом... А шестерку из url'ов убрать будет не сложно.
Однако возни ряд вопросов:
> поиск - /booksearch?ask=..., как и был
А как он был? Там можно запросить все книги по заданному жанру и формату?
Я помню, что на текущей версии ты рассказывал про http://lib.rus.ec/download?genre=sf_humor&type=fb2&avtor=all
Но только во-первых его на lib6 просто нету, а во вторых с ним будут небольшие проблемы по нахождению ссылки на страницу автора...
no subject
Date: 2007-12-18 03:02 pm (UTC)Лучше я sql попарсю... ;-)
no subject
Date: 2007-12-18 05:46 pm (UTC)no subject
Date: 2007-12-18 08:05 pm (UTC)Но идеологически мне эта идея очень сильно не нравиться...