По мотивам предыдущего поста написал класс для PHP, с помощью которого можно получить количество ссылок на страницу в известных социальных сетях.
Поддерживает ВКонтакте, Facebook, Twitter, Google Buzz, Одноклассники, LinkedIn, Ya.ru, Мой Мир.
Подробности и примеры использования далее.
Скачать сам класс можно тут.
Использование выглядит вот так. Для получения количества ссылок из всех известных классу социальных сетей:
1 2 3 4 5 | require('socialsharescount.php'); $soc = new SocialSharesCount('http://korrespondent.net/'); $social_data = $soc->get(); print("<pre>"); print_r($social_data); |
Если необходимо получить только количества ссылок на страницу только из определенных социальных сетей:
1 2 3 4 5 | require('socialsharescount.php'); $soc = new SocialSharesCount('http://korrespondent.net/',array('vkontakte','facebook','twitter')); $social_data = $soc->get(); print("<pre>"); print_r($social_data); |
Возвращаемое классом значение выглядит вот таким образом:
Array
(
[odnoklassniki] => 1
[yaru] => 4
[buzz] => 25057
[linkedin] => 2
[twitter] => 86
[facebook] => 107
[vkontakte] => 29
[moimir] => 18
[plusone] => 38
)
Во втором параметре конструктора можно использовать такие элементы массива: ‘odnoklassniki’, ‘yaru’, ‘buzz’, ‘linkedin’, ‘twitter’, ‘facebook’, ‘vkontakte’,'moimir’,'plusone’.
В случае, если классу передать социальную сеть, о которой он не знает – будет сгенерирован warning.
Если у класса, по каким-то причинам, не получится получить ответ от социальной сети или разобрать его, в возвращаемом значении в элементе массива, ключ которого соответствует названию этой социальной сети, значение будет равно false.
UPDATE: В список поддерживаемых социальных сетей добавлен «Мой Мир» Mail.ru.
UPDATE2: В список поддерживаемых добавлен Google Plus Button.
Метки: social networks shares count php, Количество ссылок на страницу
Привет. Очень здорово.
А «мой мир» мейловский можешь еще добавить?
Да, добавлю со временем. Потерпите, пожалуйста, сейчас напряг – не до этого всего стало
Добавлен Мой Мир.
Привет! Большое спасибо!
Можно за суммировать общее количество.
У меня вопрос на миллион. Как можно заставить запускаться этот класс в определенное время и результат вносить в текстовый файл, к примеру.
Дабы не создавать нагрузки. Т.к. время генерации страницы 0.9 – 1 секунда, а это очень много
Ну, вообще, это самый правильный вариант, которым пользуюсь и я.
Только писать, конечно, надо не в текстовый файл, а в базу данных.
А насчет расписания – cron (http://ru.wikipedia.org/wiki/Cron) вам в помощь. К сожалению есть его настройки не на всех shared-хостингах.
Но если у Вас свой сервер – то это не проблема.
Я обычно пользуюсь услугами хостинга Freehost – у них есть возможность управления расписаниями.
Огромное вас спасибо) Очень помог ваш класс.
А как быть с кнопкой гугл плюс? не подскажете как получить количество голосов с нее)
К сожалению, сейчас не могу ответить на Ваш вопрос.
Добавлено в класс.
Такой вопрос:
$soc = new SocialSharesCount(‘http://korrespondent.net',array('vkontakte','facebook','twitter‘)); – так все работает
А если $soc = new
$blabla=’?tuda=suda&cuda’; SocialSharesCount(‘http://korrespondent.net'.$blabla,array('vkontakte','facebook','twitter‘)); – ни в какую. не отображает количество голосов.
print_r($soc); выводит ссылку, я по ней перехожу на нужную страницу.
Но если я пишу :
$soc = new
SocialSharesCount(‘http://korrespondent.net?tuda=suda&cuda',array('vkontakte','facebook','twitter‘));
Где что не так? подскажите, пожалуйста.
Попробуйте заменить спец символы & и ? на их спец. коды.
$blabla=’/?tuda=suda&cuda’;
попробуй так
Кстати, вариант.
планируется ли добавить подсчет +1 гугла? или результаты Buzz сходны? спасибо
Сделано.
Отличный пост. Я часа 2 провел в поисках всех ссылок на получение плюсов в различных соц сетях, а тут смотрю за меня уже все в кучу собрали =)
Посмотрим как это будет работать в цикле по крону…
думаю раз в день будет достаточно рейтинги забирать.
А есть ли возможность для g+ получить не количество «лайков» а количество ссылок на страницу?