"Электро-рейтинг" - лучшее на электротехническом рынке
Май 18 2012 12:45:46
Навигация
· Главная
· Обратная связь
· Добавить обзор
· Обзоры
· Инструкции менеджеру
©   Обзоры  +  -
Последние обзоры:
· Оптимальный набор эл...
· Способы зарядки моби...
· Mitsubishi Heavy и D...
· Действия мастера в с...
· Причины и порядок ув...
· Служебные обязанност...
· Экипировка мастера к...
Сейчас на сайте
· Гостей: 2

· Пользователей: 0

· Всего пользователей: 57
· Новый пользователь: reserv

Обзоры ==> Прочее:
Скрипт получения PageRank произвольной страницы
Привожу код скрипта на PHP, выводящего PR заданной веб-странцы. Его можно встроить в какой-либо информер, выводящий информацию о сайте (конечно, позаботиться о получении веб-адреса страницы - например, использовав суперглобальный массив $_SERVER):

<?php
class PageRankGrabber {
    public function getRank($url) {
        $pageUrl = $this->getRankUrlStingByPageUrl($url);
        $content = $this->getContentCurl($pageUrl);
        $parts   = explode(":", $content);
        return intval(@$parts[count($parts)-1]);
    }
    public function getContentCurl($url) {
       $ch = curl_init();
       curl_setopt($ch, CURLOPT_URL, $url);
       curl_setopt($ch, CURLOPT_HEADER, 0);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
       $result = curl_exec($ch);
       curl_close($ch);
       return $result;        
    }

    public function getRankUrlStingByPageUrl($page) {
        $this->awesomeHash($page);
        $hash = "8" . $this->awesomeHash($page);
// Следующее выражение содержит строку запроса, которая иногда меняется. Поэтому, если скрипт перестанет выдавать правильные значения, причину ищите здесь в первую очередь (смотрите новости, связанные с google toolbar):
$url  = "http://toolbarqueries.google.com/tbr?sourceid=" .
"navclient-ff&features=Rank&client=navclient-auto-ff&";
        $url .= "ch=" . $hash . "&q=info:" . urlencode($page);
        return str_replace(' ', '', $url);        
    }

    private function toHex8($num) {
        $vector = "0123456789abcdef";
        return $vector[($num % 256) / 16] . $vector[$num % 16];
    }
    
    private function hexEncodeU32($num) {
        $result  = $this->toHex8($this->zerofillShift($num, 24));
        $result .= $this->toHex8($this->zerofillShift($num, 16) & 255);
        $result .= $this->toHex8($this->zerofillShift($num, 8) & 255);
        return $result . $this->toHex8($num & 255);
    }
 
    private function awesomeHash($value)  {
 
        $hashSeed = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE." .
                    "Yes, I'm talking to you, scammer.";
        $intValue = 16909125;
        for($i = 0; $i < strlen($value); $i++ ){
            $intValue ^=
                $this->charCodeAt($hashSeed, $i % strlen($hashSeed)) ^
                $this->charCodeAt($value, $i);
            $intValue =
                $this->zerofillShift($intValue,  23) | $intValue << 9;
        }
        return $this->hexEncodeU32($intValue);
    }
    
    private function charCodeAt($value, $position) {
        $symbol = $value[$position];
        return ord($symbol);
    }
 
    private function zerofillShift($a, $b) {
        $z = hexdec(80000000);
        if ($z & $a) {
            $a = ($a >> 1);
            $a &= (~$z);
            $a |= 0x40000000;
            $a = ($a >> ($b-1));
        } else {
            $a = ($a >> $b);
        }
        return $a;
    }   
}
$obj = new PageRankGrabber();
$rank = $obj->getRank('http://tagilsv.ru/news.php?readmore=31'); //сюда подставьте адрес интересующей веб-страницы
echo $rank;
?>
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
©   Статьи  Развернуть список  Свернуть список
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

11/02/2012 06:52
Обзор о кассетных кондиционерах доработан и опубликован: http://electro-rat
ing.ru/stroitelstv
o/28-kasset_kondic
ioner.htm Присылайте еще

13/01/2012 08:48
Да, новые бы проблемы появились

13/01/2012 08:46
за сутки 10кило на хостинг тратиться придётся)

12/01/2012 10:14
Привет! Спасибо. Кабы столько да за сутки!

11/01/2012 11:48
98,999 уникальных посетителей, ура!

11/01/2012 11:43
Привет!

07/01/2012 12:44
http://electro-rat
ing.ru/infusions/r
ating/index.php?a=
stats&u=shpil23 - лучший по итогам декабря

29/11/2011 16:38
спасибо

29/11/2011 15:58
Ну вот и обещанный скрипт: http://electro-rat
ing.ru/other/19-ti
c-informer.htm

29/11/2011 09:21
И Вам добрый день. Напомнили, спасибо. Постараюсь сегодня вечером.

29/11/2011 08:55
добрый день как насчет ТИЦ

27/11/2011 08:07
Были проблемы с базой. Теперь вроде все в порядке, но возможна потеря некоторых сайтов из каталога, добавленных в ноябре. Если заметите, напишите пожалуйста, найдем и восстановим.

26/11/2011 20:06
Временные неполадки на сайте будут скоро устранены

вязаные детские шапочки
26/11/2011 10:35
Спасибо за интересную статью, про получение PR я написал здесь: http://electro-rat
ing.ru/other/11-pr
-informer.htm, насчет ТИЦ попозже тоже напишу.

25/11/2011 17:54
да если можно пожалуйста

25/11/2011 17:14
Пришлось повозиться, уже все и не помню, но все нашел в интернете, если найду, дам ссылки

25/11/2011 17:06
хотел спросить а как вы на счетчике установили ТИЦ и PR

21/11/2011 14:33
Все довольно просто - у них не установлен информер, поэтому к нам не поступают данные о посещаемости и переходах.


19/11/2011 20:58
Не совсем понятна система - хороший сайт, а рейтинг относительно невысокий, например этот: http://electro-rat
ing.ru/infusions/r
ating/index.php?a=
stats&u=sicon?

17/11/2011 13:29
Да, согласен. Интересных статей и новостей практически нет. Действительно, над этим надо серьезно подумать.

Информеры

Сверху - ТИЦ и ПР, снизу - среднее количество уникальных посетителей в сутки и рейтинг
Время загрузки: 0.05 секунд - 24 Запросов 229,139 уникальных посетителей