FeedBurner статистика через API
Некоторое время назад фиды постов и комментариев на блоге были переведены в feedburner. Надеюсь не надо говорить что это и зачем:) Для подписчиков это незаметно благодаря умному редиректу.
Одной из основных особенностей fb является подробная статистика по использованию фида. Из всех предоставляемых величин мне наиболее интересна одна - число уникальных подписчиков на фид. Это число всегда можно посмотреть на личной странице в fb или установить специальный виджет на сайт который любезно будет число подписчиков демонстрировать. Но так не интересно:)
Поскольку fb уже давно был куплен google’ом, то по хорошей их традиции имеет API для сторонних приложений. Через это API можно легко(почтив в REST стиле) получить нужную информация, в данном случае о фиде.
Среди прочих параметров меня интересует, как я уже говорил, число подписчиков. Ну что же, его и будем доставать. Беглый взгляд на документацию и не менее беглая реализация шаблонного тега, который по заданному юрлу фида достает число подписчиков:
@register.simple_tag
def feedburner_count( feed ):
from urllib2 import urlopen
from xml.dom import minidom
try:
stats = urlopen( "http://api.feedburner.com/awareness/1.0/GetFeedData?uri=%s" % feed )
doc = minidom.parse( stats )
entry = doc.getElementsByTagName( "entry" )[0]
return entry.getAttribute( "circulation" )
except:
if settings.DEBUG:
raise
return ""
Всё просто. Даже слишком. Результат вы можете наблюдать в правом верхнем углу страницы, где рядом со ссылкой на рсс постов теперь есть количество подписчиков (на баг в верстке внимание не обращайте:) там ещё строчка поиска скоро появится).
У меня уже появилась идея расширить функциональность, чтобы была возможность получать больше интересных данных и предоставлять на всеобщее обозрение. Надо быть открытым!:)
А вы пользуетесь feedburner? Очень интересно.
PS: Кстати, об открытости, в продолжении тренда убрал премодерацию предлагаемых ссылок. Дерзайте! Я уверен, что у вас есть интересные ссылки связанные с web разработкой и с джангой.