Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать тИЦ и PR, ...с помощью пхп... 
:(
    Опции темы
MegaRulez
  Дата 30.7.2006, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.5.2006
Где: Беларусь!! ;!

Репутация: нет
Всего: нет



Возможно ли при помощи php узнать тИЦ и PR сайта? 
PM MAIL WWW   Вверх
kuhan
Дата 30.7.2006, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.12.2005

Репутация: нет
Всего: 1



PM MAIL WWW ICQ   Вверх
MegaRulez
Дата 30.7.2006, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 12.5.2006
Где: Беларусь!! ;!

Репутация: нет
Всего: нет



СПАСИБО БОЛЬШЕ!!! Очень выручил!!! 
PM MAIL WWW   Вверх
Alone
Дата 1.8.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: нет
Всего: 6



ага, вот только бы еще гугль отдавал че нить по такому запросу.
а то видеть 403 форбидден как то не улыбает... smile


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
kuhan
Дата 1.8.2006, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.12.2005

Репутация: нет
Всего: 1



Alone, не гони!
нормльно все работает, только что сам проверил
PM MAIL WWW ICQ   Вверх
Alone
Дата 2.8.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: нет
Всего: 6



kuhan, не гоню.

Warning: file(http://www.google.com/search?client=navclient-auto&ch=6-2147364761&features=Rank&q=info:www.ibm.com): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /home/alone/public_html/gpr.php on line 87
PageRank:

А при попытке пойти по ссылке http://www.google.com/search?client=navcli...nfo:www.ibm.com 

получаю:

Google     
Error
 

    Forbidden
    Your client does not have permission to get URL /search?client=navclient-auto&ch=6-2147364761&features=Rank&q=info:www.ibm.com from this server. (Client IP address: 195.24.128.84)

    Please see Google's Terms of Service posted at http://www.google.com/terms_of_service.html 


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
kuhan
Дата 2.8.2006, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.12.2005

Репутация: нет
Всего: 1



Цитата(Alone @  2.8.2006,  10:41 Найти цитируемый пост)
http://www.google.com/search?client=navclient-auto&ch=6-2147364761&features=Rank&q=info:www.ibm.com


странно...
такой ссылки он вообще не мог выдать, там в переменной ch только цифры, и никаких минусов там быть не может

мне скрипт на www.ibm.com выдал: 
Код

PageRank: 9
 по ссылке: http://www.google.com/search?client=navcli...nfo:www.ibm.com

и вообще этот код я на многих сайтах встречал, и на работоспособность никто не жаловался 
PM MAIL WWW ICQ   Вверх
Alone
Дата 4.8.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: нет
Всего: 6



-2147364761 оказывается это мне функция возвращает... smile которая GoogleCH()


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
ST_Falcon
Дата 23.8.2006, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Alone, ты с локальной машины запускаешь?
PM MAIL ICQ   Вверх
Alone
Дата 24.8.2006, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: нет
Всего: 6



А какая скрипту разница?
С сервака своего.


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
ST_Falcon
Дата 28.8.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Alone, у меня с локального не тянуло. а на серваке нормально
PM MAIL ICQ   Вверх
Garret
Дата 16.9.2006, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 16.9.2006
Где: Киев

Репутация: нет
Всего: 2



Кстати Гугл и Яндекс могли бы уже и апишку сделать для получения ИЦ и ПР, чем им это навредит? А то не всегда получаеться получить нужные данные(соединение отпадает или еще что то). Для каких то серьезных целей метод с парсингом страницы не сильно катит smile 
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 22.9.2006, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Модератор: для тех кто в танке - не флудим товарищи и не ругаемся! Живем мирно и дружно!


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
coyl
Дата 27.1.2007, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 13.6.2006

Репутация: нет
Всего: 1



Цитата(Garret @  16.9.2006,  12:11 Найти цитируемый пост)
Кстати Гугл и Яндекс могли бы уже и апишку сделать для получения ИЦ и ПР

У яндекса давно есть такая апишка, а вот гугл почему-то скрывает ПР и поэтому сделал эту контрольную сумму,которая в скрипте и вычисляется.
PM MAIL   Вверх
AztEK
Дата 27.1.2007, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Недавно нашел сервис http://cy-pr.net.ru/ - довольно удобно.


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
coyl
Дата 28.1.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 13.6.2006

Репутация: нет
Всего: 1



Цитата(AztEK @  27.1.2007,  09:43 Найти цитируемый пост)
сервис http://cy-pr.net.ru/ - довольно удобно. 

но для самостоятельного продукта неприемлимо
PM MAIL   Вверх
AztEK
Дата 29.1.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Цитата(coyl @  28.1.2007,  19:33 Найти цитируемый пост)
но для самостоятельного продукта неприемлимо

не спорю smile просто это легко и быстро


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
soloweb
Дата 9.2.2007, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Georgian
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



Функция выдаст вам результат тица в виде цифр.
Код

<?php

    function getYandexTic($url)
        {
            
            $xml='http://bar-navig.yandex.ru/u?ver=2&lang=1049&url='.$url.'&target=_No__Name:5&show=1&thc=0';            
            $obj=new DOMDocument();            
            $obj->load($xml);            
            $urlinfo=$obj->childNodes;
            foreach ($urlinfo as $url)
            {
                $nodes=$url->childNodes;
                
                foreach ($nodes as $node)
                {                
                    if($node->nodeName=='tcy')
                    {                        
                        $attributes=$node->attributes;
                        foreach ($attributes as $atribut)
                        {                            
                            if($atribut->name=='value')
                            {
                                $tic=$atribut->value;
                            }                            
                        }                    
                }                    
                    
            }    
            
        }            
            return $tic;
    }
?>

PM MAIL WWW ICQ   Вверх
Levsha
Дата 10.6.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 30.9.2005

Репутация: нет
Всего: 4



Продолжаю по поводу Page Rank.
Задача узнать вышеупомянутый средствами PHP. Есть для этого старый удобный код:
Код

<?php

define('GOOGLE_MAGIC', 0xE6359A60);

function zeroFill($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;
}


function mix($a,$b,$c) {
  $a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
  $b -= $c; $b -= $a; $b ^= ($a<<8);
  $c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
  $a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
  $b -= $c; $b -= $a; $b ^= ($a<<16);
  $c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
  $a -= $b; $a -= $c; $a ^= (zeroFill($c,3));   
  $b -= $c; $b -= $a; $b ^= ($a<<10);
  $c -= $a; $c -= $b; $c ^= (zeroFill($b,15));
   
  return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
    if(is_null($length)) {
        $length = sizeof($url);
    }
    $a = $b = 0x9E3779B9;
    $c = $init;
    $k = 0;
    $len = $length;
    while($len >= 12) {
        $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
        $b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
        $c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
        $mix = mix($a,$b,$c);
        $a = $mix[0]; $b = $mix[1]; $c = $mix[2];
        $k += 12;
        $len -= 12;
    }

    $c += $length;
    switch($len)              /* all the case statements fall through */
    {
        case 11: $c+=($url[$k+10]<<24);
        case 10: $c+=($url[$k+9]<<16);
        case 9 : $c+=($url[$k+8]<<8);
          /* the first byte of c is reserved for the length */
        case 8 : $b+=($url[$k+7]<<24);
        case 7 : $b+=($url[$k+6]<<16);
        case 6 : $b+=($url[$k+5]<<8);
        case 5 : $b+=($url[$k+4]);
        case 4 : $a+=($url[$k+3]<<24);
        case 3 : $a+=($url[$k+2]<<16);
        case 2 : $a+=($url[$k+1]<<8);
        case 1 : $a+=($url[$k+0]);
         /* case 0: nothing left to add */
    }
    $mix = mix($a,$b,$c);
    return $mix[2];
}

function strord($string) {
    for($i=0;$i<strlen($string);$i++) {
        $result[$i] = ord($string{$i});
    }
    return $result;
}

function getrank($url) {
$url = 'info:'.$url;
$ch = GoogleCH(strord($url));
$file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
$data = file($file);

$rankarray = explode (':', $data[2]);
$rank = $rankarray[2];
return $rank;
}

echo 'PageRank: '.getrank($url);

?>

Он хорош, но зависит от платформы. Разобрав его по кусочкам выяснил, что операция "$a = $b ^ $c" на разных системах работает по разному. Точнее это происходит при использовании больших и/или отрицательных чисел. Я пытался на это жаловаться здесь. Итак может кто-нибудь предложить другой способ добывания PageRank ? Или другой вариант подсчетов ключа (без '^')


--------------------
PM   Вверх
Levsha
Дата 10.6.2007, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 30.9.2005

Репутация: нет
Всего: 4



Спасибо всем, кто не успел поучавствовать smile 
Меня выручил следующий код код
Код

function zeroFill($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;
}

function GPR_toHex8($intega){
        $Ziffer = "0123456789abcdef";
        return $Ziffer[($intega%256)/16].$Ziffer[$intega%16];
}

function GPR_hexEncodeU32($num) {
        $result = GPR_toHex8(zeroFill($num,24));
        $result .= GPR_toHex8(zeroFill($num,16) & 255);
        $result .= GPR_toHex8(zeroFill($num,8) & 255);
        return $result . GPR_toHex8($num & 255);
}


function GPR_awesomeHash($value) {
        $GPR_HASH_SEED = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer.";
        $kindOfThingAnIdiotWouldHaveOnHisLuggage = 16909125;
        for($i = 0; $i < strlen($value); $i++ ) {
                $kindOfThingAnIdiotWouldHaveOnHisLuggage ^= ord(substr($GPR_HASH_SEED, $i % strlen($GPR_HASH_SEED),1)) ^ ord(substr($value, $i,1));
                $kindOfThingAnIdiotWouldHaveOnHisLuggage = zeroFill($kindOfThingAnIdiotWouldHaveOnHisLuggage,23) | $kindOfThingAnIdiotWouldHaveOnHisLuggage << 9;
        }
        return '8'.GPR_hexEncodeU32($kindOfThingAnIdiotWouldHaveOnHisLuggage);
}

function getrank($url) {
        $ch = GPR_awesomeHash($url);
        $file = "http://toolbarqueries.google.com/search?client=navclient-auto&features=Rank&ch=$ch&q=info:$url";
        $data = file($file);

        $rankarray = explode (':', $data[2]);
        $rank = $rankarray[2];
        if (!$rank) $rank=0;
        return $rank;
}


Хотя если у кого и этот не заработает, пишите, прорвемся smile 


--------------------
PM   Вверх
teroni
Дата 10.6.2007, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 1
Всего: 22



Не знаю почему, но в 42-й строчке $rankarray = explode (':', $data[2]); надо менять на $rankarray = explode (':', $data[0]);

Для несуществующих или неизвестных хостов вместо нуля выдаёт либо 403 ошибку, либо пустой массив $data. Для нормальных сайтов вроде не врет!
PM MAIL   Вверх
Levsha
Дата 11.6.2007, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 30.9.2005

Репутация: нет
Всего: 4



Цитата(teroni @  10.6.2007,  12:14 Найти цитируемый пост)
надо менять на $rankarray = explode (':', $data[0]);

Да кстати, иой косяк, забыл упомянуть...

Цитата(teroni @  10.6.2007,  12:14 Найти цитируемый пост)
Для несуществующих или неизвестных хостов вместо нуля выдаёт либо 403 ошибку, либо пустой массив

Вот кстати по теме, подскажите товарищи, как получить какую ошибку вернул сервер, не только 404, а и остальные, типа 302, 403 и т.д. (не используя curl) smile 
Давно задаюсь этим вопросом, хочу подусовершенствовать скрипт.


--------------------
PM   Вверх
teroni
Дата 11.6.2007, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 1
Всего: 22



http://scripts.incutio.com/httpclient/ - неплохая штука, через сокеты работает, посмотри.
PM MAIL   Вверх
Levsha
Дата 11.6.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 30.9.2005

Репутация: нет
Всего: 4



teroni, ух, немаленький класс. Скачал, изучу, отпишусь.


--------------------
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.1148 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.