Клиент-сайд кросспостер в ЖЖ

Mar 08, 2022 19:42


Задумался, а не заняться ли реализацией клиент-сайд кросспостера в ЖЖ. Сейчас проблема с кросспостингом состоит в том, что с одного и того же IP-адреса идет слишком много запросов. и часть из них с кривой аутентифкацией. Поэтому ЖЖ этот IP банит, и блокирует кросспостинг для всех пользовалелей DW.

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

Можно сразу предусмотреть для разных сайтов использование разных прокси.

Алгоритм работы такой:
  1. читаем DW указанный в конфиге, находим там первый пост, у которого внизу нет пометки о кросспосте (у топ-поста, оставшегося со старых времен она есть)
  2. Переходим по ссылке в этот пост (при этом все cut-ы раскрываются) и читаем отрендеренную страничку, выделяя там элементы с классами "entry-title" "entry-content" и "tags"
  3. Постим в ЖЖ через API как raw html тело entry-content заголовком entry-title и тэгами tags. Дописываем в конец ссылку на DW
  4. Читаем тело поста DW через API и дописываем туда ссылку на пост в ЖЖ.

ТАкой подход - читать в DW отрендеренный HTML позволит вам использовать при постинге любой поддерживаемый в DW формат (например markdown) и не волноваться, что его неправильно отрендирит ЖЖ. Правда, cut-ы таким образом не перенесутся.

Crospossted from DW, по вышеописанному алгоритму, но руками.

blog, lj

Previous post Next post
Up