API access DB access


Вы здесь: Форумы fantlab.ru > Форум «Техподдержка и развитие сайта» > Тема «API access / DB access»

API access / DB access

 автор  сообщение


философ

Ссылка на сообщение 8 октября 2016 г. 23:53  
Привет!

У Фантлаба очень большая и качественная база данных о книгах, их оценки и отзывы. Хочется сделать на базе этой информации чуть более продвинутые выборки, чем есть сейчас. Например
1. Книги появившиеся последние 2,5,10,30 дней и быстро набравшие популярность
2. Топ книг по количеству отзывов/оценок за последние 2,5,10,30 дней
3. Книги (фильтрованные по жанрам) оцененные/написан отзыв пользователями выходящими в топ 10/30/50/100 по оценкам отзывов за последние 2,5,10,30 дней / за все время.

И к этому возможность исключать авторов/книги/жанры на основании личное списка (например не хочу видеть в выборе любовные романы или не хочу видеть какого-то авторы или что наверное самое нужное — не показывать книги которые я уже читал)

Имея данные в RDBMS построить такие выборки не сложно, но как их получить у меня идей нет (точнее одна — скрейпиг, чего хотелось бы избежать).
Есть какие-то варианты как к этой информации доступ получить?


миродержец

Ссылка на сообщение 9 октября 2016 г. 10:09  

цитата Semenych

Книги появившиеся последние 2,5,10,30 дней и быстро набравшие популярность
В чём эта популярность должна измеряться?


философ

Ссылка на сообщение 9 октября 2016 г. 14:35  

цитата andrew_b

В чём эта популярность должна измеряться?

тут можно использовать несколько метрик, какая именно будет хороша так с ходу не скажешь надо эксперементировать. Грубо говоря это что-то вокруг
А*количество отзывов за период + Б*количество оценок + В * количестко оценок выше средней оценки у оценивающего + Д*количество просмотров страницы книги (если такая инфа есть).
Надо в общем поиграть с коэффициентами глянуть как получится. Может быть несколько метрик показывать.


философ

Ссылка на сообщение 16 октября 2016 г. 15:28  
UPDATE:

по результатам общения с Vad появилась потенциальная идея и возможность реализовать функциональность discovery в рамках движка сайта.

Я постарался описать требования к новому функционалу вот тут https://goo.gl/7TlgaK если совсем коротко хочется сделать инструмент который будет давать возможность решать минимум две задачи
1. найти новые книги а базе на которые нет отзывов и написать отзыв/оценить книгу.
2. найти хорошие книги которые я не читал. Этот функционал хорошо покрывается разделом рекомандации. Но тут хочется сделать это немного под другим углом — брать книги не "намагниченные" единомышленниками, а открывать что-то новое, то, что люди с которыми я намагнитился не рекомендуют, но что тем не менее имеет положительные отзывы.


магистр

Ссылка на сообщение 16 октября 2016 г. 16:31  
Semenych, такое решают обычно в чём-то типа Oracle BI, т.е. конструктор запросов. Делать его для Фантлаба смысла нет. Мне кажется, лучше развить разделы рейтингов и рекомендаций. Добавить там кучу новых возможностей. Кстати, раздел рекомендаций у меня следующий в списке на доработку.
–––
+7(996)730-00-00, Telegram https://t.me/crealist


философ

Ссылка на сообщение 16 октября 2016 г. 16:41  
creator, ну мне сложно судить я общего roadmap не вижу, сюда попал достаточно, рейтинги и рекомендации раздел очень интересный тут более чем согласен.
Просто я люблю копаться с данными и мне интересно было бы сделать какой-то такой инструмент. Поскольку моя помощь в общем почти ничего особо не стоит я бы таки попробовал такой инструмент сделать?


магистр

Ссылка на сообщение 17 октября 2016 г. 12:23  

цитата Semenych

я общего roadmap не вижу

основная цель — завоевание галактики!
–––
ϝʟ * Никаких компромиссов, даже перед лицом армагеддона (Роршах)


философ

Ссылка на сообщение 17 октября 2016 г. 13:00  

цитата vad

основная цель — завоевание галактики!

Достойная цель! А какие-то предпочтения по способу завоевания есть?


авторитет

Ссылка на сообщение 28 апреля 2017 г. 17:25  
Привет!
Прошу прощения, что поднимаю устаревшую тему, но поиск выдаёт её, а ответа как-то так и нет :)

Уважаемые товарищи администраторы, нет ли, часом, планов сделать публичный API для доступа к базе данных или (что более предпочтительно) выкладывать дамп базы в свободный доступ? Скажем, лично мне было бы интересно иметь базу данных оценок (обезличенную, разумеется), чтобы более эффективно искать что почитать :) не и на самом деле интересно было бы попридумывать/поисследовать алгоритмы. Сразу оговорюсь, я не предлагаю выкладывать базу как есть со всеми описаниями, чтобы кто-то мог нечаянно сделать зеркало сайта :)) То есть всегда ведь можно придумать такой срез, которые будет полезен для разработчиков, но бесполезен для товарищей, любящих воровать контент.

Есть ли планы, возможности, желание (ненужное -- зачеркнуть) реализовать что-то подобное?


магистр

Ссылка на сообщение 29 апреля 2017 г. 11:24  

цитата mexus

публичный API

Ага, привет. У нас есть кое-где json-выдачи данных из базы (ну и json-вдачи :). Но они больше повторяюсь функционал самого сайта.
Срез всех произведений с оценками — ну такого нету. Есть по авторам.

цитата mexus

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

всякие сложные срезы пытался сделать топикстертер этой темы.
(но потом забил, скатился в депрессию и ушел в себя.)
–––
ϝʟ * Никаких компромиссов, даже перед лицом армагеддона (Роршах)


авторитет

Ссылка на сообщение 29 апреля 2017 г. 13:23  
Спасибо за быстрый ответ :)

цитата vad

Срез всех произведений с оценками — ну такого нету

Его нет по идейным соображениям, или потому что никто не сделал? :)

Может имеет смысл обсудить и подумать (придумать?), чем вы готовы делиться с широкой обощественностью, а чем нет? Если конечно есть интерес :)

Я бы, например, предложил сделать срез (хотя наверное срез -- не очень корректный термин, я имею в виду, "экспортировать данные"), в котором были бы произведения с оценками всех пользователей, но произведения (и пользователи) были бы представлены только в виде какого-то идентификатора. Причём идентификаторы пользователей можно сделать коррелированными с их реальными идентификаторами.
Имея такую базу в свободном доступе, невозможно будет сделать сколько-нибудь рабочую копию сайта, потому что в ней не будет, собственно, самих произведений. Но работая с такой базой, можно получить список из 5-10 id произведений (замечу, не нагружая при этом вычислительные мощности самого сайта), которые уже можно будет найти на сайте.


магистр

Ссылка на сообщение 30 апреля 2017 г. 12:02  
mexus не делали.
боюсь это малоинтересно, т.к. ваша эта идея, какя бы она не была, не расчитана на создание функционала, которым могут пользоваться и другие.
Задумаете слелать сервисное/браузерное решение с/на фл для себя и других — велком.
–––
ϝʟ * Никаких компромиссов, даже перед лицом армагеддона (Роршах)


авторитет

Ссылка на сообщение 30 апреля 2017 г. 16:39  

цитата vad

Задумаете слелать сервисное/браузерное решение с/на фл для себя и других — велком

Ок, спасибо! Тогда чтобы не плодить слова, отпишусь, как будут конкретные имплементированные идеи, чтобы было, о чём говорить / на что смотреть.


магистр

Ссылка на сообщение 1 мая 2017 г. 23:03  
mexus 8-)
давайте.
в целом мы тут всячески за микросервисы, так что коли будет желание творить полезное для всех на фреймфорках умеющих rest/json — мы ченить сдюжим и со стороны серверной выдачи.
–––
ϝʟ * Никаких компромиссов, даже перед лицом армагеддона (Роршах)


магистр

Ссылка на сообщение 9 июля 2017 г. 16:38  
Думаем описать наше API. Есть мысли в каком формате это сделать, что бы было удобно поддерживать изменения?
–––
ϝʟ * Никаких компромиссов, даже перед лицом армагеддона (Роршах)


философ

Ссылка на сообщение 9 июля 2017 г. 17:47  
vad
Думаю, самый лучше формат для документирования API — это формат сваггера: https://swagger.io/
Если интересно, могу подробнее рассказать про свой опыт использования.


магистр

Ссылка на сообщение 9 июля 2017 г. 23:18  

цитата rtfm

это формат сваггера: https://swagger.io/


Я пробовал немного задокументировать выводы на swagger
на примере вывода одного автора
https://app.swaggerhub.com/apis/Mazian/fl...

впечатление плохое:
1. ругается на вид урла с .json в конце
2. непонятно как описать частичные ответы в GET которые добавляют в вывод данные.
(Частичные ответы — например что запрос "?fields=biblio,awards" даст кроме минимальной инфы + полную биографию + список премий автора)

цитата rtfm

Если интересно, могу подробнее рассказать про свой опыт использования.

давай твоим опытом решим эти заковырки =)
–––
ϝʟ * Никаких компромиссов, даже перед лицом армагеддона (Роршах)


философ

Ссылка на сообщение 24 мая 2019 г. 11:09  
Публичное API для Фантлаба почти готово, уже можно им пользоваться. Я сделал с его помощью несколько программ, которые обращаются к базе.

Например, поиск новых авторов, произведений и изданий. Сейчас почти закончил автоматическую генерацию обзоров новинок для фантастики, нефантастики, детективов и хоррора. Это позволяет делать такие обзоры за несколько секунд с минимальной ручной доделкой. Авторы обзоров в освободившееся время смогут сделать что-то полезное для Фантлаба или использовать его по своему желанию.

Огромное спасибо программистам Фантлаба, сделавшим такое чудо. Мне редко встречались так качественно сделанные программные продукты. Особая благодарность vad-у за отличное сопровождение продукта.

10 из 10. И это не накрутка. Всем любителям программирования рекомендую.

Ждём официального выхода версии 1.0 API.
–––
Джентльмен — это человек, который знает, как играть на пианино, но не умеет этого делать
Je suis Ziza


философ

Ссылка на сообщение 29 мая 2019 г. 14:31  
Я правильно понимаю, что у форума нет API, будет только у базы?


философ

Ссылка на сообщение 29 мая 2019 г. 16:52  

цитата Slad-Ko

Я правильно понимаю, что у форума нет API, будет только у базы?


Форум тоже к базе относится. Но в API для форума пока есть только плюсование/минусование форумного поста, отправление личных сообщений (с возможностью сохранения в черновик) и подписка на новые сообщения в теме форума.
–––
Джентльмен — это человек, который знает, как играть на пианино, но не умеет этого делать
Je suis Ziza
Страницы: 12    🔍 поиск

Вы здесь: Форумы fantlab.ru > Форум «Техподдержка и развитие сайта» > Тема «API access / DB access»

 
  Новое сообщение по теме «API access / DB access»
Инструменты   
Сообщение:
 

Внимание! Чтобы общаться на форуме, Вам нужно пройти авторизацию:

   Авторизация

логин:
пароль:
регистрация | забыли пароль?



⇑ Наверх