Pull to refresh

ХаброRSS Фильтратор

Reading time3 min
Views647
Здравствуйте уважаемые Хабрапользователи.
Хочу представить вашему вниманию небольшую онлайн-утилиту, которая предназначена для более удобной работы с RSS каналами Хабрахабра.

Зачем это нужно:


Дело в том, что после реформы Хабра, из настроек профиля исчезли такие опции как: «Подсасывать в ленту топики из тематических блогов», «Подсасывать в ленту топики из топа», в результате мне пришлось подписаться на 3 канала сразу. (более подробно об этом я уже писал: http://kapustos.habrahabr.ru/blog/45249/). Решить проблему с помощью Yahoo Pipes не удалось и я написал для себя небольшое приложение которое решало мои проблемы. Захотелось похвалиться и перед сообществом, и после наведения лоска и добавления многопользовательской функциональности появился "ХаброRSS Фильтратор".

Что он умеет и насколько это полезно:


  • Из нескольких фидов Хабра сделать один, при этом удалив дубликаты и отсортировав список по дате.
    Для эксперимента я подписался на 2 ленты: Личная и Главная в RSS ридере, и на них же в Фильтраторе. После 7 околоновогодних дней, в RSS ридере 156 новость, в Фильтраторе 126.

  • Удалить из фида новости, которые написаны в определенном блоге.
    Я помню как авторам Хабра предлагали добавить опцию «Получать все посты, за исключением блога xxx». Это можно настроить в Фильтраторе. Кстати, я думаю это может оказаться полезным читателям Хабра у которых нет аккаунта на сайте, соответственно им недоступна личная RSS лента. С помошью этой опции они смогут получать меньше ненужных/неинтересных новостей.

  • Удалить из фида новости, которые написаны определенным автором.
    Вы на дух не выносите кого-то на Хабре? Его посты вызывают у вас злобу и агрессию? Добавьте его ник в игнор-список и ваш RSS-канал не будет осквернен.

  • Обрезать новости которые больше определенной длины.
    Если вы принадлежите к тем пользователям, которые первым делом пишут «Хабракат», то следующая возможность именно для вас: определите максимальную длину сообщений, которые попадают в вашу ленту — более длинные сообшения будут обрезаны.


Пример:

Я подписался на RSS на Главной, Тематические блоги и Личную ленту. В список игнорируемых блогов я добавил Подкасты (я не воспринимаю информацию на слух), Дизайн и несколько тематических блогов посвященных технологиям которые на данный момент мне не интересны. Авторов я не игнорирую.

Техническая часть:

Серверная часть на PHP. Для парсинга RSS фидов Хабрахабра я ипользовал замечательную библиотеку: SimplePie (если возникнет интерес я мог бы написать обзорный топик).
На клиентской стороне jQuery и немного AJAX.
Генерируемый RSS-XML идентичен хабрахабровскому, разве что изменен заголовок, и для того чтобы пройти валидацию (хабрахабровский xml ее не проходит) пришлось поменять элемент на <dc:creator></dc:creator>.
Для получения личной ленты необходим RSS ID Хабрахабра, я думаю, что он не предоставляет собой секретной информации, если я не прав, пожалуйста напишите.
Я решил что авторизация по типу: «логин: пароль» это слишком, поэтому пользователи авторизуются с помощью уникального URL, который выдается при сохранении настроек.

Для Хаброадминистрации:

Я надеюсь, созданием подобного сервиса я не нарушаю правил Хабрахабра. Памятку «О Ботах» я прочитал и выставил соответствующий User-Agent. Также включено кеширование RSS — запрос для уникального GET посылается не чаще чем один раз в 5 минут. Никакой выгоды я с сервиса получать не собираюсь и обещаю не вставлять рекламу.
Если же «Фильтратор» все-таки что-то нарушает, пожалуйста, сообщите мне и я его запилю удалю.

Буду рад вашим предложениям, сообщениям об ошибках и критике.

P.S.: Так старался при написании поста, что забыл указать ссылку, вот она: ХаброRSS Фильтратор

UPD: Я вот что подумал, ведь 'I Habrahabr' закрытый блог — незарегистрированые читатели топика о Фильтраторе вообще не увидят, а им как раз он бы был очень полезен. Может его на 1-2 вечера перенести в какой-то открытый блог, а затем вернуть назад?
Tags:
Hubs:
Total votes 23: ↑23 and ↓0+23
Comments17

Articles