Парсим показатели Twitter, Alexa, Feedburner, Yahoo, LI

Опубликовано 22 декабря, 2010 в PHP

Итак, ранее публиковались функции определения тИЦ и PR. Кладезь знаний пополняют новые функции, получающие показатели сайта из сервисов Twitter, Alexa, Feedburner, Yahoo, LI. Почти у всех популярных сервисов есть свое API, поэтому ничего сложного в получении каких-либо параметров своего аккаунта нет. Всем функциям передается либо идентификатор пользователя в системе, либо домен сайта.

Функция browser тут, можно заменить ее на file_get_contents.

Получаем количество подписчиков блога по FeedBurner. Передается идентификатор в системе.

function getfeedburner($name) {
	$xml = browser("http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=$name");
	preg_match('/circulation=\"([^\"]+)\"/Usi', $xml, $res);
	return (int)$res[1];
}

Получаем количество подписчиков в Twitter. Передается идентификатор (имя пользователя). Ответ в формате строки: «число читаталей|число читаемых» (разделитель — |, каждое число по отдельности можно выдрать с помощью функции explode).

function gettwitter($twitter) {
	$twitter = browser("http://api.twitter.com/1/users/show.xml?screen_name=$twitter");
	preg_match('/<followers_count>([^<]+)<\/followers_count>/Usi', $twitter, $follower);
	preg_match('/<friends_count>([^<]+)<\/friends_count>/Usi', $twitter, $following);
	return $follower[1]."|".$following[1];
}

Получаем количество посетителей за сутки через мобильную версию LiveInternet. Передается домен. В функции происходит парсинг для windows-1251 сайта, для utf-8 не нужно перекодировать ничего (iconv).

function getli($li) {
	$li = iconv('UTF-8', 'windows-1251//ignore', browser("http://pda.liveinternet.ru/stat/$li/visitors.html"));
	preg_match('/<td align=left>Посетители за день<\/td>\r\n<td>([^<]+)<\/td>/Usi', $li, $res);
	$res[1] = str_replace(',', '', $res[1]);
	return (int)$res[1];
}

Получаем количество ссылок по Yahoo (передается домен).

function getyahoo($domain) {
	$serp = browser("http://siteexplorer.search.yahoo.com/search?p=$domain&bwm=i&fr=sfp");
	preg_match("/Inlinks \(([\d,]+)\)/Usi", $serp, $res);
	return (int)str_replace(',', '', $res[1]);
}

Давно не использовал эти функции, если что-то не работает — смотрите регулярки. Возможно, изменена выдача, чтобы починить, нужно просто изменить 2 метки, между которыми (…).

Спонсор публикации поста — seodf.com. Хотите продвинуть сайт самостоятельно? Тогда читайте в СЕО-блоге по ссылке, что такое поисковое продвижение и СЕО, и место ли там новичку.




Комментарии «Парсим показатели Twitter, Alexa, Feedburner, Yahoo, LI»:
Нет комментариев. Будете первыми?


Ваш комментарий: