| |||
|
|
Жестокое обращение с комментариями (1)
Первый метод всем хорош, кроме двух моментов: 1) там можно делать далеко не все (например комменты фиг прочитаешь и фиг запостишь) 2) запросы там надо выдавать последовательно - при попытке делать это из нескольких тредов он дает отлуп. А это довольно сильно влияет на скорость. Можно пользоваться плоским интерфейсом (что imho проще и удобнее), но для фанатов XML - можно пользоваться и XMLRPC - разницы в общем никакой. Второй метод всем замечателен, кроме того, что предназначен ровно для одной цели - экспорта дневника. Зато он работает хорошо и очень быстро - экспорт всего моего дневника занимает секунд 20 (у меня 100mbit-ный канал). Ну а третий плох и недокументированностью и тем, что там часто приходится парсить html, отдаваемый ЖЖ (а это не очень надежно - тем более, что формат довольно сильно варируется в зависимости от настроек аккаунта) Как логиниться в ЖЖДля последних двух методов нужна предварительная авторизация в ЖЖ. Самый простой способ ее получить - воспользоваться функцией протокола sessiongenerate. Она в ответ отдает куку, которую просто надо совать в заголовок всех последующих запросов к ЖЖ: Coockie: ljsession=(session-id) При этом полезно указывать флажки expiration=short (чтобы не плодить сессии) и ipfixed=1 (на всякий случай - секурнее будет) Жестокое обращение с комментариямиКомменты в ЖЖ можно скачивать, удалять, скринить, морозить и т.п. Делать это не просто просто, а очень просто: все кроме удаления делается посредством запроса post на URL http://www.livejournal.com/talkscreen.b с параметрами: confirm="Y" journal=(user-or-community-name) mode=(mode) ("freeze", "unfreeze", "screen", "unscreen") talkid=(thread-no) - как я уже говорил (comment-no)*256 + anum, но вместо anum можно использовать 0 (наверное и любое число) Удаление коммента делается запросом post на http://www.livejournal.com/delcomment.b c параметрами: confirm="Delete Comments" delthread="0" или "1" (удалять подтред или нет) spam="0" или "1" ban="0" или "1" И будет вам счастье. Лирическое отступление - для фанатов производительности - можно попытаться воспользоваться функцией групповых операциq над комментамрями к записи - это будет наверняка быстрее, но мне было лень разбираться. Оно и так довольно резво. Напомню, что нумерация комментов сквозная и строго последовательная. То есть - если Вам навалило кучу дерьма в фиксированный интервал времени - самый простой способ ее снести - выяснить id первого коммента с дерьмом, id последнего и пройтись в цикле от первого ко второму. Единственный недостаток этого метода - будут снесены и "честные комменты", случившиеся в означенный период времени. Зато не просто просто, а очень просто. |
||||||||||||||||