joyreactor api

Подписчиков:
6
Постов:
4

graphql не правильный ответ в seoAttributes

Кажется неправильный ответ seoAttributes

Что не так?
* description : захватывает часть текста из нижнего края поста а должно кажется захватывать  часть текста с верхнего края
* title : иногда захватывает html теги
Проявляется во всех постах? нет

#Пример:
#где запустить: https://api.joyreactor.cc/graphql-playground
#что это seo блок: http://m.joyreactor.cc/post/5061838
{node(id:"UG9zdDo1MDYxODM4") {
... on Post {
seoAttributes {
title
description
ocr}}}}


Пример ответ description:

"без логина:верхнизс логином:верхнизВсё!!!(а вообще мне скучно такое писать ну вроде как то и логин меняет вид, ну и вдруг пригодится;)=^~.-^= V Тематика и теги: dev :: реактор :: песочница"

Пример а как выглядит "seo блок" в http://joyreactor.cc/post/5061838 / http://old.reactor.cc/post/5061838 :
Какой то битый пост(http://m.joyreactor.cc/post/4875263) ломает верстку в m.joyreactor.cc внешний ви / dev :: реактор

Пример ответ title (так выглядит "seo блок" в http://m.joyreactor.cc/post/5061838 ):
<b>Какой то битый пост(<a href="http://m.joyreactor.cc/post/4875263">http://m.joyreactor.cc/post/4875263</a>) ломает верстку в <a href="http://m.joyreactor.cc/">m.joyreactor.cc</a> внешний вид ошибки для залогиненных пользователей отличается</b></h3><br><b>Что сломалось</b><br><b>*без входа на сайт:</b>"правая колонка" уезжает а "тело" поста растягивается.<br><b>*а если войти(залоснится):</b>длинные слова выезжают на соседний блок<br><br><b>Возможная причина:</b> наличие в посте длинных слов без пробелов<br><div><b>*в:</b> <a href="http://joyreactor.cc">http://joyreactor.cc</a> и <a href="http://joyreactor.cc">http://old.reactor.cc</a> ошибка не проявляется на <b>18.01.2022</b></div><div><b></b></div><h3><b>Картинки (зум выкручен на 50% для экономии)</b> / dev :: реактор :: песочница

---------------------------
Этот пост связан с http://joyreactor.cc/post/5061838#comment24703213 и возможно не должен быть отдельным или вы уже знаете или уже чините но я запутался...

Graphql

Переделываю парсер под Graphql, возникла нехватка такого функционала, как получить информацию сразу по нескольким постам.
node(id: base64_encode('Post:ИдПоста')...) возвращает один пост. Может, не до конца вкуриваю в graphql, но как понимаю, этим функционалом не запросить посты по нескольким id.
Это создаёт проблему проверки уже размещённых постов на факт изменений. Проблему во времени. Даже вкупе с http://joyreactor.cc/api/changedPosts возникает необходимость парсить (ну как минимум делать запрос на данные поста) аж 300 постов, размещённых за последние сутки. Причём, вроде как, посты могут редактироваться и более, чем через сутки после размещения. Прибавляя время на хеширование картинок и пересоздание индекса получается обновление вместо старых добрых 5 минут - минут 20-30. При этом, не факт, что меняется картинка у поста. В итоге производится куча бесполезных graphql-запросов.
Возможен ли допил api для получения нескольких постов по id? Или же дальше биться с авторизацией?

JoyReactor GraphQL Enpoint

Информация для тех, кто делает сайд-проекты, завязанные на парсинг реактора.
Для простоты дебаггинга к внутреннему API реактора, я открыл graphql-playground. Там выдаётся далеко не вся информация, но постепенно она будет наполняться. Лимиты там довольно жёсткие, но должно хватить.
Если не знаете что такое GraphQL - изучайте. Эндпоинт совместим со спецификацией Relay Object Identification.
Идентификатор строится как base64(Type:Id).
Например, таким запросом можно получить идентификатор поста по номеру картинки
{
  node(id:"UG9zdEF0dHJpYnV0ZVBpY3R1cmU6NjQxNDI5MQ=="){
  ... on PostAttributePicture { post { id } }
  }
}

Отличный комментарий!

Если кто-нибудь из постящих в it-юмор не напишет тут что-нибудь умное и программистское, то я их уважать перестану.

Пара функций api

По многичсленным просьбам создателей баянометров в лице ExtraDJ были добавлены два вызова, которые в теории должны упростить ему жизнь:

1) api/changedPosts - возвращает список постов, контент которых был изменён в последние 24 часа. Кэшируется на 1 час. В поле main_blog_ids возвращает список ид тегов, которые стоят у поста. Чтобы определить имя тега по его ид - можно использовать:

2) api/blogId/<номер тега> - возвращает информацию о теге по его id.

Некоторые теги у нас слиты в один. Например, "политика" и "политота" - это по сути один тег. Посты с ними будут возвращать одинаковый ид главного синонима, хотя в самом посте будет писаться то написание, которое было выбрано пользователем.
Здесь мы собираем самые интересные картинки, арты, комиксы, мемасики по теме joyreactor api (+4 постов - joyreactor api)