Давид Мзареулян (david_m) wrote,
Давид Мзареулян
david_m

Написал простенький гейтик RSS2LJ. Пока ещё совсем сырой, но, вроде, работает.

Для начала затранслировал в ЖЖ rss_dpreview, пусть теперь живёт во френдленте:)


P. S. Если у вас что-то не работает, пишите адрес журнала и rss-ленты, а также сообщение об ошибке в списке трансляций. Без этого просто не буду рассматривать запрос. Надоело каждый раз переспрашивать.

P. P. S. FAQ:

Q: Я создал трансляцию, но почему-то весь десятилетний архив моего блога не скопировался в ЖЖ. Я в грустях.
: Rss2lj не транслирует прошлые записи. При создании трансляции транслируется последняя запись из канала, в дальнейшем новые записи транслируются по мере их появления.

Q: Я создал трансляцию, написал новый пост, а его всё нет и нет. Я что-то сломал?

A: Сервис опрашивает rss-каналы с определённой периодичностью. Если вы редко пишете в блог, то период проверки может достигать двух-трёх часов. Время последней проверки показывается в списке трансляций, там же можно увидеть сообщение об ошибке, если таковая случилась при проверке или трансляции.

Q: Внезапно! В моём ЖЖ появилась запись из блога, которую я написал ещё в прошлый новый год. Что за нафиг?

A: Rss2lj не сохраняет внутри себя ваших записей. Если запись оттранслировалась, значит, она появилась в RSS-канале с момента его последней проверки. Повтор может возникнуть после удаления какой-нибудь недавней записи — тогда в rss (в котором обычно фиксированное число записей) «подтягивается» старая запись.
Tags: rss2lj
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1329 comments
Будет ли когда-нибудь опубликован текст скрипта? Я бы не хотел выдавать свой пароль от ЖЖ, а вот установить скрипт на собственный хостинг как раз могу (только для личного использования).
Нет. API постинга в ЖЖ очень простой, наймите программиста, чтобы написал Вам скрипт под Ваши нужды.

komarov

8 years ago

Deleted comment

Ваша трансляция выглядит вполне нормально… Судя по логам, в последний раз в ЖЖ что-то транслировалось вчера в 13:35 — видимо, это и была удалённая запись? Но с тех пор робот у вас ничего нового не находил.

Deleted comment

Здравствуйте.
Подскажите, пожалуйста, как узнать линк rss для аккаунта G+?
Штатно — никак. Есть сторонние сервисы, которые формируют RSS из G+, например http://plusfeed.appspot.com/

katig

8 years ago

Deleted comment

Ну вот и хорошо. Но я ничего не делал:)

Deleted comment

Может быть, просто не выделять жирным «заголовок» в плюсе? Тем более, что его там и нет.

Вырезать первое предложение — это явно не дело rss2lj. Он вообще содержание не трогает.
Во первых огромное спасибо. Сервис очень удобный и нужный.

позавчера настроил трансляцию своего блога из Google+ в ЖЖ , но посты появляются с большой задержкой и главное по несколько одновременно (до четырех постов за заход раз в три четыре часа- тоесть редко). Получается что у друзей френдлента моментами может иметь несколько моих постов подряд, хотя они могут быть написаны с промежутком в несколько часов. Этого хотелось бы избежать, чтобы rss2lj вытаскивал посты из Google+ хотя бы один раз в час.

Для фейсбука и твиттера я пользуюсь dlvr.it, и они постают из google+ раз в 15 минут.

Было бы отлично если бы rss2lj копировал бы мой журнал в жж раз в час или чаще. Можно так сднлать?
А откуда Вы берёте RSS из G+? Вполне возможно, что тот сервис тоже вносит свои задержки.

В принципе, rss2lj задержку имеет, но вот пачками он сам посылать посты не будет.

Re: Вопрос

savelich

8 years ago

Re: Вопрос

david_m

8 years ago

Здравствуйте Давид! Могли бы вы объяснить новичку что конкретно означает: "Разместите в этом канале запись, включающую в себя следующую.."

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

Где находится конкретно этот канал? Как туда зайти и разместить?
Заранее спасибо за ответ.
С уважением Ирина
На своём сайте (откуда Вы берёте RSS) Вам надо написать пост, у которого в заголовке или в теле будет эта строка. После подтверждения прав, пост можно удалить.
Добрый вечер.
Подскажите почему посты с http://zlatavlasa.blogspot.com транслируются в жж без фото?
заранее спасибо
Тут виноват Ваш стиль ЖЖ… В Блоггере картинки почему-то заключены в элемент с классом “separator”, а в стиле Вашего журнала именно этот класс объявлен как display:none (т. е. не показывается).

zlatavlasa

8 years ago

http://galiarda-bron.livejournal.com/
бьюсь бьюсь и все никак не подтвердить =(

Deleted comment

А зачем Вы тег засунули в <image>? Он должен быть внутри <channel>

Deleted comment

david_m

8 years ago

Добрый день!
Почему-то не подгружаются фотографии из этой ленты http://feeds.feedburner.com/Kalexeru в журнал
http://kalexe.livejournal.com/ (например предпоследний пост).
У Вас там относительные пути к картинкам. Они и в http://feeds.feedburner.com/Kalexeru не показываются.
Спасибо за сервис.
Давно пользуюсь. Сейчас в основном для постинга из Гугл+.
Возникло желание фильтровать записи, т.е. транслировать не все доступные.
Подскажите по XPath-выражению.
Например, я хочу транслировать все записи, где нет словосочетания #noimp#
Добавила выражение not(contains(_:description, '#noimp#'))
Однако оно фильтрует все записи.
Как правильно написать выражение, чтобы отфильтровать часть записей по вхождению словосочетания?
Мне кажется, Вам тут не нужен XPath. Мой G+-транслятор (который rss2lj/g+) преобразует хэш-теги (любые слова, начинающиеся с # — #чтонибудь) из тела постинга в теги. Так что в фильтре Вы можете просто сказать, что надо транслировать все записи не содержащие тега “noimp”.
ЖЖ: http://kabirk.livejournal.com/
RSS: http://ru-google-os.blogspot.com/feeds/posts/default?alt=rss
Сообщение об ошибке в списке трансляций: нет ошибок, время последней проверки регулярно обновляется.

1. После авторизации канала (подтверждения прав) в ЖЖ появился последний пост из блога; после этого в блоге было опубликовано ещё 4 поста, и они появились в ЖЖ; через некоторое время все 5 постов блога из ЖЖ исчезли, их повторная публикация ничего не даёт; новые посты публикуются. Почему исчезли (уже после появления в ЖЖ!) эти посты? Как можно их вернуть?

2. В настройках трансляций (одна приведена выше; другая: RSS: http://kabir-k.blogspot.com/feeds/posts/default?alt=rss) указан тег записи, идентифицирующий источник, — то есть название соответствующего блога. В теге использован неразрывный пробел. В ЖЖ есть такой же тег, тоже использующий неразрывный пробел, — однако записи, которым тег был присвоен через интерфейс ЖЖ, и записи, пришедшие трансляцией, имеют разные теги (видимо, с трансляцией приходит тег с обычным пробелом вместо неразрывного). Как можно избежать «разделения» на два тега (которые выглядят одинаково)?
Rss2lj в принципе не умеет удалять записи, в нём нет такого функционала.

Теги я никак не обрабатываю, передаю ровно то что есть. Я у Вас в ЖЖ вижу сейчас следующие теги: и . И там и там есть посты из rss2lj. В первом теге всё-таки неразрывный пробел есть, а значит сам символ транслируется нормально, дело не в rss2lj. Видимо, Вы сами в свойствах трансляции случайно использовали обычный пробел.

kabirk

8 years ago

Deleted comment

Вы знаете, у вас там настолько ядрёный rss, что я даже не знаю, с чего начинать смотреть. Уточки сейчас в фиде нет. Зато есть невалидный xml (html-entity прямо в xml-коде). В общем, не знаю. Ни у кого ничего похожего нет.
Добрый день. У меня есть блог по адресу http://journal.mygorod.ru/index.php?user=15690
Используя ваш сервис я отправил РСС ленту этого блога в свой блог на livejournal.com - http://stud-besed.livejournal.com/

В итоге у меня теперь с периодичностью в час-два появляются в блоге на livejournal.com одна и та же запись с journal.mygorod.ru. Что делать? Как сделать так, чтобы появлялись теперь только новые записи?
Тут такая проблема… у Вас блог на базе какого-то форумного движка. И он выдаёт не вполне корректный RSS. А именно: при каждом обращении он запускает новую сессию, и идентификатор сессии включает в адреса постов. Вы можете сами посмотреть, куда ведут ссылки с тех постов, что транслируются в ЖЖ — у них у всех разный get-параметр “s”.

В RSS принято включать элемент “guid” с уникальным идентификатором того или иного поста. По этому идентификатору rss-ридер (rss2lj в нашем случае) определяет, новый это пост или уже прочитанный. Но в вашем RSS этих элементов нет, а значит, новизну приходится определять, сравнивая адреса постов. Но адреса тоже всё время разные — из-за сессий. Вот и получается, что каждый раз робот видит кучу «новых» постов.

Если у Вас есть какая-то возможность повлиять на код сайта, то попробуйте настроить (или попросить чтобы настроили) PHP, чтобы он для сессий использовал только cookies. Это решит проблему и для rss2lj и для других ридеров, которыми, может быть, будут читать Ваш RSS.