Ещё один парсер счетчика feedburner
Добрый день, друзья! Сегодня я хочу показать еще один способ, как спарсить количество подписчиков по счетчику feedburner. Совсем недавно я рассказывал про способ парсинга с помощью регулярного выражения, сегодня мы уберем их подальше и будем пользоваться только SimpleXML. Напомню, что этот парсер будет работать только в PHP5.
И так, приступим!
В прошлый раз, когда мы писали парсер, я немного не понял, в каком формате мы подгружали данные. Оказывается, данные к нам приходили в xml формате, по которым можно с легкостью пройтись с помощью SimpleXML.
Для начала нам надо получить содержимое страницы с нашими данными (с количеством подписчиков). В этом деле нам поможет функция simplexml_load_file. Как работает эта функция, я писал тут. В качестве параметра мы будет передавать API ссылку с именем нашего фида (RSS канала).
Пример получения содержимого:
$feed='sosnovskij';
$file=simplexml_load_file('http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri='.$feed);
Теперь, когда мы получили содержимое, мы можем пройтись по нему и получить нужное нам значение.
Пример содержимого:
<rsp stat="ok"> <feed id="hg8l3t9rhgh54ajv94gunpg60s" uri="sosnovskij"> <entry date="2010-06-22" circulation="1273" hits="1136" reach="253" /> </feed> </rsp>
Как видно из примера нам нужно получить значение атрибута circulation, который принадлежит объекту entry.
Для того чтобы получить содержимое этого атрибута, мы просто обратимся к нему, идя по дереву всего документа.
Пример получения значения:
$pod = $file->feed->entry['circulation'];
Полный код – парсер счетчика feedburner:
$feed='sosnovskij';
$file=simplexml_load_file('http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri='.$feed);
$pod = $file->feed->entry['circulation'];
echo 'Подписчиков:'.$pod;
Посмотреть – demo.
Вот и всё дорогие друзья, очень просто и удобнее чем использовать регулярные выражения. Примерно также мы будем парсить по-новому значение alexa traffic rank. Но об этом в пятницу!

Если бы Вы подсказали, откуда взять значение переменной $feed для своего фида, то цены бы Вам не было.
Спасибо за статью, теперь лучше понимаю, что такое парсер.
Все очень просто у вашего фида есть адрес для подписки и для чтения, он имеет вот такой вид – . Где – makweb – имя фида, то есть значение переменной $feed
А feedburner не забанит за слишком частое обращение к нему?
Нет, так как это API системы, и они под это уже готовы
Просто видел плагин под WordPress. Кажется назывался он Simple Counter Widgets. Или как-то очень похоже. Так вот там в настройках специально была опция таймаута, черз который слать запросы системе. В ридми было сказано, что если количество раз увеличить, то feedburner забанит за слишком частые запросы. Если в вашем варианте такого не случится, то это просто здорово.
В любом случае, благодарю за скрипт!
Все будет нормально так как это API
не пашет
и всё тут
значит в настройках аккаунта отключена возможность проверять эти значения