Pull to refresh

Queryfeed — RSS-ленты из Твиттера и Фейсбука

Reading time2 min
Views8.4K

Вступление

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

Полагаю, что я не один такой. В добавок к вышесказанному, все новостные ресурсы я предпочитаю читать через РСС-ленты, считая их самым удобным средством распространения информации. К сожалению, оба информационных гиганта — Фeйсбук и Твиттер — лишили пользователей возможности выкачивать ленты. За пару дней я собрал на коленке сервис, который устраняет этот недостаток.

Итак, милости прошу на Queryfeed.


На текущий момент сервис умеет вытягивать данные из Твиттера и Фейсбука. Запросы осуществляются через Search API и Graph API соответственно. Твиттер поддерживает сложные запросы, например, по автору, по адресату, по хэш-тегу и тд. Полученный с серверов JSON конвертируется в RSS и отдается пользователю. Для лент Твиттера задан TTL (время кэша) 5 минут, для Фейсбука — 10 минут.

Примеры

  • #habr — поиск по хэш-тегу;
  • from:username — твиты от автора username;
  • собакаusername — твиты с упомянутым username;


Доступны и другие операторы, в т.ч. исключение слова, операция OR, и т.д. К сожалению, поиск от Фейсбука похвастаться такой гибкостью не может. Я добавил его в качестве эксперимента, и, возможно, от него придется отказаться.

Техническая сторона

Сервис написан на Питоне, фрейморк — Flask. Поскольку сервис не обращается к БД, Джанго здесь явно избыточен. РСС-лента формируется шаблонизатором Jinja2 по XML-шаблону. Хостится в облаке App Engine. Код не привязан к архитектуре GAE, чтобы в любой момент можно было оттуда съехать.

Теперь можно читать Твиттер в любимом RSS-ридере. Или использовать RSS-ленту как средство передачи информации (например, из Твитера на ваш сайт/блог). Буду очень признателен за критику и пожелания.
Tags:
Hubs:
Total votes 20: ↑18 and ↓2+16
Comments33

Articles